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)
""" __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)
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)
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)
"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)
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)
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)]
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)
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)
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)
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)
# 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)