Esempio n. 1
0
def reply_afk(update: Update, context: CallbackContext):
    message = update.effective_message  # type: Optional[Message]
    entities = message.parse_entities(
        [MessageEntity.TEXT_MENTION, MessageEntity.MENTION])
    if message.entities and entities:
        for ent in entities:
            if ent.type == MessageEntity.TEXT_MENTION:
                user_id = ent.user.id
                fst_name = ent.user.first_name

            elif ent.type == MessageEntity.MENTION:
                user_id = get_user_id(message.text[ent.offset:ent.offset +
                                                   ent.length])
                if not user_id:
                    # 절대 일어나서는 안됩니다. 사용자가 AFK가 되기 위해서는 말을 했어야 합니다. 사용자가 닉네임을 바꾸지 않는 한!
                    return
                chat = context.bot.get_chat(user_id)
                fst_name = chat.first_name

            else:
                return

            if sql.is_afk(user_id):
                valid, reason = sql.check_afk_status(user_id)
                if valid:
                    if not reason:
                        res = "{} 님은 현재 자리를 비운 상태에요!".format(fst_name)
                    else:
                        res = "{} 님은 현재 자리를 비운 상태에요! 이유 :\n{}".format(
                            fst_name, reason)
                    message.reply_text(res)
Esempio n. 2
0
def reply_afk(bot: Bot, update: Update):
    message = update.effective_message
    entities = message.parse_entities(
        [MessageEntity.TEXT_MENTION, MessageEntity.MENTION])

    if message.entities and entities:
        for ent in entities:
            if ent.type == MessageEntity.TEXT_MENTION:
                user_id = ent.user.id
                fst_name = ent.user.first_name

            elif ent.type == MessageEntity.MENTION:
                user_id = get_user_id(message.text[ent.offset:ent.offset +
                                                   ent.length])
                if not user_id:
                    return
                chat = bot.get_chat(user_id)
                fst_name = chat.first_name

            else:
                return

            if sql.is_afk(user_id):
                valid, reason = sql.check_afk_status(user_id)
                if valid:
                    if not reason:
                        res = "{} is Now in AFK Mode!".format(fst_name)
                    else:
                        res = "{} is AFK!\nReason:\n{}".format(
                            fst_name, reason)
                    message.reply_text(res)
Esempio n. 3
0
def reply_afk(bot: Bot, update: Update):
    message = update.effective_message  # type: Optional[Message]
    entities = message.parse_entities(
        [MessageEntity.TEXT_MENTION, MessageEntity.MENTION])
    if message.entities and entities:
        for ent in entities:
            if ent.type == MessageEntity.TEXT_MENTION:
                user_id = ent.user.id
                fst_name = ent.user.first_name

            elif ent.type == MessageEntity.MENTION:
                user_id = get_user_id(message.text[ent.offset:ent.offset +
                                                   ent.length])
                if not user_id:
                    # Should never happen, since for a user to become AFK they must have spoken. Maybe changed username?
                    return
                chat = bot.get_chat(user_id)
                fst_name = chat.first_name

            else:
                return

            if sql.is_afk(user_id):
                valid, reason = sql.check_afk_status(user_id)
                if valid:
                    if not reason:
                        res = "{} is AFK!".format(fst_name)
                    else:
                        res = "{} is AFK! says its because of:\n{}".format(
                            fst_name, reason)
                    message.reply_text(res)
Esempio n. 4
0
def reply_afk(bot: Bot, update: Update):
    message = update.effective_message  # type: Optional[Message]
    if message.entities and message.parse_entities([MessageEntity.TEXT_MENTION, MessageEntity.MENTION]):
        entities = message.parse_entities([MessageEntity.TEXT_MENTION, MessageEntity.MENTION])
        for ent in entities:
            if ent.type == MessageEntity.TEXT_MENTION:
                user_id = ent.user.id
                fst_name = ent.user.first_name

            elif ent.type == MessageEntity.MENTION:
                user_id = get_user_id(message.text[ent.offset:ent.offset + ent.length])
                if not user_id:
                    # Should never happen, since for a user to become AFK they must have spoken. Maybe changed username?
                    return
                chat = bot.get_chat(user_id)
                fst_name = chat.first_name

            else:
                return

            if sql.is_afk(user_id):
                user = sql.check_afk_status(user_id)
                if not user.reason:
                    res = "{} ഇപ്പോൾ എവിടെയോ പെണ്ണുകാണാൻ പോയെക്കുവാണ്  കാരണം :\n{} ".format(fst_name)
                else:
                    res = "{} ഇപ്പൊ എവിടെയോ പെണ്ണ് കാണാൻ പോയി കാരണം :\n{}. ".format(fst_name, user.reason)
                message.reply_text(res)
Esempio n. 5
0
def reply_afk(bot: Bot, update: Update):
    message = update.effective_message  # type: Optional[Message]
    if message.entities and message.parse_entities(
        [MessageEntity.TEXT_MENTION, MessageEntity.MENTION]):
        entities = message.parse_entities(
            [MessageEntity.TEXT_MENTION, MessageEntity.MENTION])
        for ent in entities:
            if ent.type == MessageEntity.TEXT_MENTION:
                user_id = ent.user.id
                fst_name = ent.user.first_name

            elif ent.type == MessageEntity.MENTION:
                user_id = get_user_id(message.text[ent.offset:ent.offset +
                                                   ent.length])
                if not user_id:
                    # Should never happen, since for a user to become AFK they must have spoken. Maybe changed username?
                    return
                chat = bot.get_chat(user_id)
                fst_name = chat.first_name

            else:
                return

            if sql.is_afk(user_id):
                user = sql.check_afk_status(user_id)
                if not user.reason:
                    res = "{} р┤Зр┤кр╡Нр┤кр╡Лр╡╛ р┤Хр╡Ар┤мр╡Лр╡╝р┤бр┤┐р╡╜ р┤ир┤┐р┤ир╡Нр┤ир╡Бр┤В р┤Ер┤Хр┤▓р╡Ж р┤Жр┤гр╡Н ! р┤Хр┤╛р┤░р┤гр┤В :\n{} ".format(
                        fst_name)
                else:
                    res = "{} р┤Зр┤кр╡Нр┤кр╡Лр╡╛ р┤Хр╡Ар┤мр╡Лр╡╝р┤бр┤┐р╡╜ р┤ир┤┐р┤ир╡Нр┤ир╡Бр┤В р┤Ер┤Хр┤▓р╡Ж р┤Жр┤гр╡Н ! р┤Хр┤╛р┤░р┤гр┤В :\n{}. ".format(
                        fst_name, user.reason)
                message.reply_text(res)
Esempio n. 6
0
def reply_afk(bot: Bot, update: Update):
    message = update.effective_message  # type: Optional[Message]
    if message.entities and message.parse_entities(
        [MessageEntity.TEXT_MENTION, MessageEntity.MENTION]):
        entities = message.parse_entities(
            [MessageEntity.TEXT_MENTION, MessageEntity.MENTION])
        for ent in entities:
            if ent.type == MessageEntity.TEXT_MENTION:
                user_id = ent.user.id
                fst_name = ent.user.first_name
                parse_mode = ParseMode.MARKDOWN

            elif ent.type == MessageEntity.MENTION:
                user_id = get_user_id(message.text[ent.offset:ent.offset +
                                                   ent.length])
                if not user_id:
                    # Should never happen, since for a user to become AFK they must have spoken. Maybe changed username?
                    return
                chat = bot.get_chat(user_id)
                fst_name = chat.first_name
                parse_mode = ParseMode.MARKDOWN

            else:
                return

            if sql.is_afk(user_id):
                user = sql.check_afk_status(user_id)
                if not user.reason:
                    res = "🗣️ <b>{}</b> <i>sedang AFK</i> ‼️".format(fst_name)
                else:
                    res = "🗣️ <b>{}</b> <i>saat ini AFK</i> ‼️\n\n📝 <b>Karena sedang</b> <i>{}</i>. ".format(
                        fst_name, user.reason)
                message.reply_text(res)
Esempio n. 7
0
def reply_afk(bot: Bot, update: Update):
    message = update.effective_message  # type: Optional[Message]
    if message.entities and message.parse_entities([MessageEntity.TEXT_MENTION, MessageEntity.MENTION]):
        entities = message.parse_entities([MessageEntity.TEXT_MENTION, MessageEntity.MENTION])
        for ent in entities:
            if ent.type == MessageEntity.TEXT_MENTION:
                user_id = ent.user.id
                fst_name = ent.user.first_name

            elif ent.type == MessageEntity.MENTION:
                user_id = get_user_id(message.text[ent.offset:ent.offset + ent.length])
                if not user_id:
                    # Should never happen, since for a user to become AFK they must have spoken. Maybe changed username?
                    return
                chat = bot.get_chat(user_id)
                fst_name = chat.first_name

            else:
                return

            if sql.is_afk(user_id):
                user = sql.check_afk_status(user_id)
                if not user.reason:
                    res = "{} ഇവിടെ എങ്ങും ഇല്ല ........ ജീവിച്ചിരിപ്പുണ്ടോ എന്ന് പോലും അറിയില്ല .... ! പോയ കാരണം :\n{} ".format(fst_name)
                else:
                    res = "{} നിങ്ങൾ അന്വേഷിക്കുന്ന ആൾ പുറത്ത് പോയി .... ! കാരണം :\n{}. ".format(fst_name, user.reason)
                message.reply_text(res)
Esempio n. 8
0
def check_afk(bot, update, user_id, fst_name):
    if sql.is_afk(user_id):
        user = sql.check_afk_status(user_id)
        if not user.reason:
            res = "{} is AFK!".format(fst_name)
        else:
            res = "{} is AFK! says its because of: \n{}".format(fst_name, user.reason)
        update.effective_message.reply_text(res)


        valid, reason = sql.check_afk_status(user_id)
        if valid:
            if not reason:
                res = "{} is AFK!".format(fst_name)
            else:
                res = "{} is AFK! says its because of:\n{}".format(fst_name, reason)
            message.reply_text(res)
Esempio n. 9
0
def check_afk(bot, update, user_id, fst_name):
    if sql.is_afk(user_id):
        user = sql.check_afk_status(user_id)
        if not user.reason:
            res = "{} ഇപ്പോൾ Offline ആണ് !".format(fst_name)
        else:
            res = "{} ഇപ്പോൾ Offline ആണ് ! കാരണം: \n{}".format(fst_name, user.reason)
        update.effective_message.reply_text(res)
Esempio n. 10
0
def check_afk(bot, update, user_id, fst_name):
    chat = update.effective_chat  # type: Optional[Chat]
    if sql.is_afk(user_id):
        user = sql.check_afk_status(user_id)
        if not user.reason:
            res = tld(chat.id, f"{fst_name} is AFK!")
        else:
            res = tld(chat.id, f"{fst_name} is AFK! says its because of:\n{user.reason}")
        update.effective_message.reply_text(res)
Esempio n. 11
0
def check_afk(bot, update, user_id, fst_name):
    chat = update.effective_chat  # type: Optional[Chat]
    if sql.is_afk(user_id):
        user = sql.check_afk_status(user_id)
        if not user.reason:
            res = tld(chat.id, "{} is HIDDEN!").format(fst_name)
        else:
            res = tld(chat.id, "{} is HIDDEN! says its because of: \n{}").format(fst_name, user.reason)
        update.effective_message.reply_text(res)
Esempio n. 12
0
def check_afk(bot, update, user_id, fst_name):
    if sql.is_afk(user_id):
        user = sql.check_afk_status(user_id)
        if not user.reason:
            res = "{} is AFK!".format(fst_name)
        else:
            res = "{} is AFK!.\nReason: <code>{}</code>".format(
                html.escape(fst_name), html.escape(user.reason))
        update.effective_message.reply_text(res, parse_mode=ParseMode.HTML)
Esempio n. 13
0
def check_afk(update, context, user_id, fst_name, userc_id):
    if int(userc_id) == int(user_id):
        return
    is_afk, reason = sql.check_afk_status(user_id)
    if is_afk:
        if not reason:
            res = "{} is afk".format(fst_name)
            update.effective_message.reply_text(res, parse_mode=None)
        else:
            res = "{} is afk.\nReason: <code>{}</code>".format(
                html.escape(fst_name), html.escape(reason))
            update.effective_message.reply_text(res, parse_mode="html")
Esempio n. 14
0
def check_afk(bot, update, user_id, fst_name):
    chat = update.effective_chat  # type: Optional[Chat]
    if sql.is_afk(user_id):
        user = sql.check_afk_status(user_id)
        elapsed_time = time.time() - start_time
        final = time.strftime("%Hh: %Mm: %Ss", time.gmtime(elapsed_time))
        if not user.reason:
            res = tld(chat.id, f"{fst_name} is AFK !\n\nLast seen {final} ago")
        else:
            res = tld(
                chat.id,
                f"{fst_name} is AFK !\n\nSays it's because of:\n{user.reason}\n\nLast seen {final} ago"
            )
        update.effective_message.reply_text(res)
Esempio n. 15
0
File: afk.py Progetto: matesa/Texas
def check_afk(bot, update, user_id, fst_name, userc_id):
    chat = update.effective_chat  # type: Optional[Chat]
    if sql.is_afk(user_id):
        user = sql.check_afk_status(user_id)
        if not user.reason:
            if int(userc_id) == int(user_id):
                return
            res = "{} is afk".format(fst_name)
            update.effective_message.reply_text(res)
        else:
            if int(userc_id) == int(user_id):
                return
            res = "{} is afk.\nReason: {}".format(fst_name, user.reason)
            update.effective_message.reply_text(res)
Esempio n. 16
0
def reply_afk(bot, update):
    message = update.effective_message
    if message.entities and message.parse_entities(
        [MessageEntity.TEXT_MENTION]):
        entities = message.parse_entities([MessageEntity.TEXT_MENTION])
        for ent in entities:
            user_id = ent.user.id
            user = sql.check_afk_status(user_id)
            if user and user.is_afk:
                if not user.reason:
                    res = "{} is AFK!".format(ent.user.first_name)
                else:
                    res = "{} is AFK! says its because of:\n{}".format(
                        ent.user.first_name, user.reason)
                message.reply_text(res)

    elif message.entities and message.parse_entities([MessageEntity.MENTION]):
        entities = message.parse_entities([MessageEntity.MENTION])
        for ent in entities:
            user_id = get_user_id(message.text[ent.offset:ent.offset +
                                               ent.length])
            if not user_id:
                # Should never happen, since for a user to become AFK they must have spoken. Maybe changed username?
                return
            user = sql.check_afk_status(user_id)
            if user and user.is_afk:
                chat = bot.get_chat(user_id)
                if not user.reason:
                    res = "{} is AFK!".format(chat.first_name)
                else:
                    res = "{} is AFK!\nReason: {}".format(
                        chat.first_name, user.reason)
                message.reply_text(res)

    else:
        return
Esempio n. 17
0
def check_afk(update, context, user_id, fst_name, userc_id):
    if sql.is_afk(user_id):
        user = sql.check_afk_status(user_id)
        afk_time = sql.get_afk_time(user_id)
        afk_since = get_readable_time((time.time() - afk_time))
        if not user.reason:
            if int(userc_id) == int(user_id):
                return
            res = "{} is afk since {}".format(fst_name, afk_since)
            update.effective_message.reply_text(res)
        else:
            if int(userc_id) == int(user_id):
                return
            res = "{} is afk since {}\nReason: {}".format(
                fst_name, afk_since, user.reason)
            update.effective_message.reply_text(res)
Esempio n. 18
0
def check_afk(update: Update, context: CallbackContext, user_id: int,
              fst_name: str, userc_id: int):
    if sql.is_afk(user_id):
        user = sql.check_afk_status(user_id)

        if int(userc_id) == int(user_id):
            return

        time = humanize.naturaldelta(datetime.now() - user.time)

        if not user.reason:
            res = "{} is AFK.\nLast seen {} ago.".format(fst_name, time)
            update.effective_message.reply_text(res)
        else:
            res = "{} is AFK.\nReason: <code>{}</code>\nLast seen {} ago.".format(
                html.escape(fst_name), html.escape(user.reason), time)
            update.effective_message.reply_text(res, parse_mode="html")
Esempio n. 19
0
def reply_afk(update, context):
    message = update.effective_message  # type: Optional[Message]

    entities = message.parse_entities(
        [MessageEntity.TEXT_MENTION, MessageEntity.MENTION]
    )
    if message.entities and entities:
        for ent in entities:
            if ent.type == MessageEntity.TEXT_MENTION:
                user_id = ent.user.id
                fst_name = ent.user.first_name

            elif ent.type == MessageEntity.MENTION:
                user_id = get_user_id(
                    message.text[ent.offset : ent.offset + ent.length]
                )
                if not user_id:
                    # Should never happen, since for a user to become AFK they must have spoken. Maybe changed username?
                    return
                try:
                    chat = context.bot.get_chat(user_id)
                except BadRequest:
                    print("Error in afk can't get user id {}".format(user_id))
                    return
                fst_name = chat.first_name

            else:
                return

            if sql.is_afk(user_id):
                valid, reason = sql.check_afk_status(user_id)
                if valid:
                    if not reason:
                        rplafkstr = random.choice(fun.AFKRPL)
                        res = rplafkstr.format(fst_name)
                    else:
                        res = f"<b>{fst_name}</b> is away from keyboard! says it's because of \n{reason}"
                    send_message(
                        update.effective_message,
                        res,
                        parse_mode=ParseMode.HTML,
                    )
Esempio n. 20
0
def reply_afk(update: Update, context: CallbackContext):
    bot = context.bot
    message = update.effective_message  # type: Optional[Message]
    entities = message.parse_entities(
        [MessageEntity.TEXT_MENTION, MessageEntity.MENTION])
    if message.entities and entities:
        for ent in entities:
            if ent.type == MessageEntity.TEXT_MENTION:
                user_id = ent.user.id
                fst_name = ent.user.first_name

            elif ent.type == MessageEntity.MENTION:
                user_id = get_user_id(message.text[ent.offset:ent.offset +
                                                   ent.length])
                if not user_id:
                    # Should never happen, since for a user to become AFK they must have spoken. Maybe changed username?
                    return
                chat = bot.get_chat(user_id)
                fst_name = chat.first_name

            else:
                return

            if sql.is_afk(user_id):
                valid, reason = sql.check_afk_status(user_id)
                if valid:
                    if not reason:
                        res = get_string(
                            "afk", "MSG_IS_AFK",
                            lang.get_lang(update.effective_chat.id)).format(
                                fst_name)  # MSG_IS_AFK
                    else:
                        res = get_string(
                            "afk", "MSG_IS_AFK_REASON",
                            lang.get_lang(update.effective_chat.id)).format(
                                fst_name, reason)  # MSG_IS_AFK_REASON
                    message.reply_text(res)