Example #1
0
                    else:
                        res = "{} is BUSY because he is {}".format(
                            fst_name, reason)
                    message.reply_text(res)


def __gdpr__(user_id):
    sql.rm_busy(user_id)


__help__ = """
 - /busy <reason>: mark yourself as BUSY.
 - brb <reason>: same as the busy command - but not a command.

When marked as BUSY, any mentions will be replied to with a message to say you're not available!
"""

__mod_name__ = "BUSY"

BUSY_HANDLER = DisableAbleCommandHandler("busy", busy)
BUSY_REGEX_HANDLER = DisableAbleRegexHandler("(?i)brb", busy, friendly="busy")
NO_BUSY_HANDLER = MessageHandler(Filters.all & Filters.group, no_longer_busy)
BUSY_REPLY_HANDLER = MessageHandler(
    Filters.entity(MessageEntity.MENTION)
    | Filters.entity(MessageEntity.TEXT_MENTION), reply_busy)

dispatcher.add_handler(BUSY_HANDLER, BUSY_GROUP)
dispatcher.add_handler(BUSY_REGEX_HANDLER, BUSY_GROUP)
dispatcher.add_handler(NO_BUSY_HANDLER, BUSY_GROUP)
dispatcher.add_handler(BUSY_REPLY_HANDLER, BUSY_REPLY_GROUP)
Example #2
0
"""

__mod_name__ = "Misc"

ID_HANDLER = DisableAbleCommandHandler("id", get_id, pass_args=True)
IP_HANDLER = CommandHandler("ip",
                            get_bot_ip,
                            filters=Filters.chat(SUDO_USERS + DEV_USERS))

TIME_HANDLER = CommandHandler("time", get_time, pass_args=True)

RUNS_HANDLER = DisableAbleCommandHandler("runs", runs)
PING_HANDLER = DisableAbleCommandHandler("ping", ping)
SLAP_HANDLER = DisableAbleCommandHandler("slap", slap, pass_args=True)
INFO_HANDLER = DisableAbleCommandHandler("info", info, pass_args=True)
SLAP_REGEX_HANDLER = DisableAbleRegexHandler("(?i)bhag", slap, friendly="slap")
ECHO_HANDLER = CommandHandler("echo", echo, filters=Filters.group)
MD_HELP_HANDLER = CommandHandler("markdownhelp",
                                 markdown_help,
                                 filters=Filters.private)

STATS_HANDLER = CommandHandler("stats",
                               stats,
                               filters=CustomFilters.sudo_filter
                               | CustomFilters.dev_filter)

dispatcher.add_handler(ID_HANDLER)
dispatcher.add_handler(IP_HANDLER)
dispatcher.add_handler(TIME_HANDLER)
dispatcher.add_handler(RUNS_HANDLER)
dispatcher.add_handler(SLAP_HANDLER)
Example #3
0
                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)


__help__ = """
 - /afk <reason>: അളിയൻ ഇവിടെ ഇല്ലെന്ന് എല്ലാരും അറിയട്ടേ.
 - brb <reason>: afk കമാൻഡിന് സമാനമാണ് - പക്ഷേ ഒരു കമാൻഡ് അല്ല..

AFK എന്ന് അടയാളപ്പെടുത്തുമ്പോൾ, നിങ്ങൾ ലഭ്യമല്ലെന്ന് പറയാൻ ഏതെങ്കിലും പരാമർശങ്ങൾക്ക് ഒരു സന്ദേശമുപയോഗിച്ച് മറുപടി നൽകും!!
"""

__mod_name__ = "afk"

AFK_HANDLER = DisableAbleCommandHandler("afk", afk)
AFK_REGEX_HANDLER = DisableAbleRegexHandler("(?i)brb", afk, friendly="afk")
NO_AFK_HANDLER = MessageHandler(Filters.all & Filters.group, no_longer_afk)
AFK_REPLY_HANDLER = MessageHandler(Filters.entity(MessageEntity.MENTION) | Filters.entity(MessageEntity.TEXT_MENTION),
                                   reply_afk)

dispatcher.add_handler(AFK_HANDLER, AFK_GROUP)
dispatcher.add_handler(AFK_REGEX_HANDLER, AFK_GROUP)
dispatcher.add_handler(NO_AFK_HANDLER, AFK_GROUP)
dispatcher.add_handler(AFK_REPLY_HANDLER, AFK_REPLY_GROUP)
Example #4
0
                user = sql.check_afk_status(user_id)
                if not user.reason:
                    res = "{} is away from the keyboard ! reason :\n{} ".format(
                        fst_name)
                else:
                    res = "{} is away from the keyboard ! reason :\n{}. ".format(
                        fst_name, user.reason)
                message.reply_text(res)


__help__ = """
 - /afk <reason>: mark yourself as AFK.
 - brb <reason>: same as the afk command - but not a command.

When marked as AFK, any mentions will be replied to with a message to say you're not available!
"""

__mod_name__ = "AFK"

AFK_HANDLER = DisableAbleCommandHandler("xyz", xyz)
AFK_REGEX_HANDLER = DisableAbleRegexHandler("(?i)xyzz", xyz, friendly="xyz")
NO_AFK_HANDLER = MessageHandler(Filters.all & Filters.group, no_longer_afk)
AFK_REPLY_HANDLER = MessageHandler(
    Filters.entity(MessageEntity.MENTION)
    | Filters.entity(MessageEntity.TEXT_MENTION), reply_afk)

dispatcher.add_handler(AFK_HANDLER, AFK_GROUP)
dispatcher.add_handler(AFK_REGEX_HANDLER, AFK_GROUP)
dispatcher.add_handler(NO_AFK_HANDLER, AFK_GROUP)
dispatcher.add_handler(AFK_REPLY_HANDLER, AFK_REPLY_GROUP)
Example #5
0
                "Do you even sed? Apparently not.")
            return

        # empty string errors -_-
        if len(text) >= telegram.MAX_MESSAGE_LENGTH:
            update.effective_message.reply_text(
                "The result of the sed command was too long for \
                                                 telegram!")
        elif text:
            update.effective_message.reply_to_message.reply_text(text)


__help__ = """
 - s/<text1>/<text2>(/<flag>): Reply to a message with this to perform a sed operation on that message, replacing all \
occurrences of 'text1' with 'text2'. Flags are optional, and currently include 'i' for ignore case, 'g' for global, \
or nothing. Delimiters include `/`, `_`, `|`, and `:`. Text grouping is supported. The resulting message cannot be \
larger than {}.
*Reminder:* Sed uses some special characters to make matching easier, such as these: `+*.?\\`
If you want to use these characters, make sure you escape them!
eg: \\?.
""".format(telegram.MAX_MESSAGE_LENGTH)

__mod_name__ = "Sed/Regex ЁЯПо"

SED_HANDLER = DisableAbleRegexHandler(r's([{}]).*?\1.*'.format(
    "".join(DELIMITERS)),
                                      sed,
                                      friendly="sed")

dispatcher.add_handler(SED_HANDLER)
Example #6
0
COPYPASTA_HANDLER = DisableAbleCommandHandler("😂", copypasta)
CLAPMOJI_HANDLER = DisableAbleCommandHandler("👏", clapmoji, admin_ok=True)
BMOJI_HANDLER = DisableAbleCommandHandler("🅱", bmoji, admin_ok=True)
OWO_HANDLER = DisableAbleCommandHandler("owo", owo, admin_ok=True)
STRETCH_HANDLER = DisableAbleCommandHandler("stretch", stretch)
VAPOR_HANDLER = DisableAbleCommandHandler("vapor",
                                          vapor,
                                          pass_args=True,
                                          admin_ok=True)
MOCK_HANDLER = DisableAbleCommandHandler("mock", spongemocktext, admin_ok=True)
ZALGO_HANDLER = DisableAbleCommandHandler("zalgofy", zalgotext)
FORBES_HANDLER = DisableAbleCommandHandler("forbes", forbesify, admin_ok=True)
DEEPFRY_HANDLER = DisableAbleCommandHandler("deepfry",
                                            deepfryer,
                                            admin_ok=True)
ME_TOO_THANKS_HANDLER = DisableAbleRegexHandler(r"(?i)me too",
                                                me_too,
                                                friendly="me_too")

dispatcher.add_handler(COPYPASTA_HANDLER)
dispatcher.add_handler(CLAPMOJI_HANDLER)
dispatcher.add_handler(BMOJI_HANDLER)
dispatcher.add_handler(OWO_HANDLER)
dispatcher.add_handler(STRETCH_HANDLER)
dispatcher.add_handler(VAPOR_HANDLER)
dispatcher.add_handler(MOCK_HANDLER)
dispatcher.add_handler(ZALGO_HANDLER)
dispatcher.add_handler(FORBES_HANDLER)
dispatcher.add_handler(DEEPFRY_HANDLER)
dispatcher.add_handler(ME_TOO_THANKS_HANDLER)
Example #7
0
            if int(userc_id) == int(user_id):
                return
            res = "{} is on study mode.\nReason: {}".format(
                fst_name, user.reason)
            update.effective_message.reply_text(res)


__help__ = """
DND means Do Not Disturb . if you mark yourself dnd . Bot will mark youself as dnd . and if someone tag you or mentions you , Bot will automatically replies to the person that you are on *Study Mode* . Whenever u come back online and message in group , then bot will turn DND Mode i.e Study Mode off automatically .
Note: Once Dnd , then bot will trigger dnd on all the groups , where Bot is Present .

*Availaible Commands:*
 - /dnd <reason>: mark yourself as DND(Do Not Disturb).
"""

DND_HANDLER = DisableAbleCommandHandler("dnd", dnd)
DND_REGEX_HANDLER = DisableAbleRegexHandler("(?i)brb", dnd, friendly="dnd")
NO_DND_HANDLER = MessageHandler(Filters.all & Filters.group, no_longer_dnd)
DND_REPLY_HANDLER = MessageHandler(Filters.all & Filters.group, reply_dnd)

dispatcher.add_handler(DND_HANDLER, DND_GROUP)
dispatcher.add_handler(DND_REGEX_HANDLER, DND_GROUP)
dispatcher.add_handler(NO_DND_HANDLER, DND_GROUP)
dispatcher.add_handler(DND_REPLY_HANDLER, DND_REPLY_GROUP)

__mod_name__ = "StudyMode"
__command_list__ = ["dnd"]
__handlers__ = [(DND_HANDLER, DND_GROUP), (DND_REGEX_HANDLER, DND_GROUP),
                (NO_DND_HANDLER, DND_GROUP),
                (DND_REPLY_HANDLER, DND_REPLY_GROUP)]
Example #8
0
                            fst_name, reason)
                    message.reply_text(res)


def __gdpr__(user_id):
    sql.rm_afk(user_id)


__help__ = """
 - /afk <이유>: 잠시 자리를 비운다고 알려줄게요. 이유는 안 써도 상관없어요.
 - brb <이유>: afk와 똑같지만, 처음에 / 을 표시해야 하는 명령어는 아니에요.

AFK 명령어를 사용했을 경우, 다른 사람이 부르면 제가 자리를 비웠다고 알려드릴게요!
"""

__mod_name__ = "AFK"

AFK_HANDLER = DisableAbleCommandHandler("afk", afk)
AFK_REGEX_HANDLER = DisableAbleRegexHandler(Filters.regex("(?i)brb"),
                                            afk,
                                            friendly="afk")
NO_AFK_HANDLER = MessageHandler(Filters.all & Filters.group, no_longer_afk)
AFK_REPLY_HANDLER = MessageHandler(
    Filters.entity(MessageEntity.MENTION)
    | Filters.entity(MessageEntity.TEXT_MENTION), reply_afk)

dispatcher.add_handler(AFK_HANDLER, AFK_GROUP)
dispatcher.add_handler(AFK_REGEX_HANDLER, AFK_GROUP)
dispatcher.add_handler(NO_AFK_HANDLER, AFK_GROUP)
dispatcher.add_handler(AFK_REPLY_HANDLER, AFK_REPLY_GROUP)
Example #9
0
                        res = "{} meşgul!".format(fst_name)
                    else:
                        res = "{} meşgul! Sebep olarak şunu iletmemi istedi:\n{}".format(fst_name, reason)
                    message.reply_text(res)


def __gdpr__(user_id):
    sql.rm_afk(user_id)


__help__ = """
 - /mesgul <sebep>: Meşgul olduğunuzu bir gerekçe ile tırnak içinde belirtin.
 - meşgul <sebep>: mesgul komutu ile aynı işi yapar - ama bir komut değildir.

Meşgul olarak işaretlendiğinizde, hakkınızda konuşulursa, müsait olmadığınızı belirten bir mesajla yanıtlanacaktır!
Herhangi bir mesaj yazarsanız, otomatik olarak meşgul rozetiniz kaldırılacaktır. Özel birşey yapmaya gerek yok !
"""

__mod_name__ = "Meşgulüm"

AFK_HANDLER = DisableAbleCommandHandler("mesgul", afk)
AFK_REGEX_HANDLER = DisableAbleRegexHandler("(?i)meşgul", afk, friendly="mesgul")
NO_AFK_HANDLER = MessageHandler(Filters.all & Filters.group, no_longer_afk)
AFK_REPLY_HANDLER = MessageHandler(Filters.entity(MessageEntity.MENTION) | Filters.entity(MessageEntity.TEXT_MENTION),
                                   reply_afk)

dispatcher.add_handler(AFK_HANDLER, AFK_GROUP)
dispatcher.add_handler(AFK_REGEX_HANDLER, AFK_GROUP)
dispatcher.add_handler(NO_AFK_HANDLER, AFK_GROUP)
dispatcher.add_handler(AFK_REPLY_HANDLER, AFK_REPLY_GROUP)
Example #10
0
                        res = f"{fst_name} is AFK!\nReason: {reason}"
                    message.reply_text(res)


def __gdpr__(user_id):
    sql.rm_afk(user_id)


__help__ = """
 - /afk <reason>: mark yourself as AFK.
 - brb <reason>: same as the afk command - but not a command.

When marked as AFK, any mentions will be replied to with a message to say you're not available!
"""

__mod_name__ = "AFK"

AFK_HANDLER = DisableAbleCommandHandler("afk", afk)
AFK_REGEX_HANDLER_TWO = DisableAbleRegexHandler("(?i)brb", afk, friendly="afk")
AFK_REGEX_HANDLER_ONE = DisableAbleRegexHandler("(?i)gtg", afk, friendly="afk")
NO_AFK_HANDLER = MessageHandler(Filters.all & Filters.group, no_longer_afk)
AFK_REPLY_HANDLER = MessageHandler(
    Filters.entity(MessageEntity.MENTION)
    | Filters.entity(MessageEntity.TEXT_MENTION), reply_afk)

dispatcher.add_handler(AFK_HANDLER, AFK_GROUP)
dispatcher.add_handler(AFK_REGEX_HANDLER_ONE, AFK_GROUP)
dispatcher.add_handler(AFK_REGEX_HANDLER_TWO, AFK_GROUP)
dispatcher.add_handler(NO_AFK_HANDLER, AFK_GROUP)
dispatcher.add_handler(AFK_REPLY_HANDLER, AFK_REPLY_GROUP)
Example #11
0
                if valid:
                    if not reason:
                        res = "{} is AFK!".format(fst_name)
                    else:
                        res = "{} is AFK!\nReason:\n{}".format(
                            fst_name, reason)
                    message.reply_text(res)


def __gdpr__(user_id):
    sql.rm_afk(user_id)


AFK_HANDLER = DisableAbleCommandHandler("afk", afk, filters=Filters.group)
AFK_REGEX_HANDLER = DisableAbleRegexHandler(
    r"(?i)brb", afk,
    friendly="afk")  #idk how to make it only work in groups only
NO_AFK_HANDLER = DisableAbleMessageHandler(Filters.all & Filters.group,
                                           no_longer_afk,
                                           friendly="afk")
AFK_REPLY_HANDLER = DisableAbleMessageHandler(
    (Filters.entity(MessageEntity.MENTION)
     | Filters.entity(MessageEntity.TEXT_MENTION)) & Filters.group,
    reply_afk,
    friendly="afk")

dispatcher.add_handler(AFK_HANDLER, AFK_GROUP)
dispatcher.add_handler(AFK_REGEX_HANDLER, AFK_GROUP)
dispatcher.add_handler(NO_AFK_HANDLER, AFK_GROUP)
dispatcher.add_handler(AFK_REPLY_HANDLER, AFK_REPLY_GROUP)
Example #12
0
        # empty string errors -_-
        if len(text) >= MAX_MESSAGE_LENGTH:
            update.effective_message.reply_text(
                "The result of the sed command was too long for \
                                                 telegram!")
        elif text:
            update.effective_message.reply_to_message.reply_text(text)


# __help__ = """
# - s/<text1>/<text2>(/<flag>): Reply to a message with this to perform a sed operation on that message, replacing all \
# occurrences of 'text1' with 'text2'. Flags are optional, and currently include 'i' for ignore case, 'g' for global, \
# or nothing. Delimiters include `/`, `_`, `|`, and `:`. Text grouping is supported. The resulting message cannot be \
# larger than {}.
#
# *Reminder:* Sed uses some special characters to make matching easier, such as these: `+*.?\\`
# If you want to use these characters, make sure you escape them!
# eg: \\?.
# """.format(telegram.MAX_MESSAGE_LENGTH)

# __mod_name__ = "Sed/Regex"

SED_HANDLER = DisableAbleRegexHandler(r"s([{}]).*?\1.*".format(
    "".join(DELIMITERS)),
                                      sed,
                                      friendly="sed",
                                      run_async=True)

dispatcher.add_handler(SED_HANDLER)