def main(): # test_handler = CommandHandler("test", test) #Unused variable start_handler = CommandHandler("start", start, pass_args=True) help_handler = CommandHandler("help", get_help) help_callback_handler = CallbackQueryHandler(help_button, pattern=r"help_") start_callback_handler = CallbackQueryHandler(send_start, pattern=r"bot_start") migrate_handler = MessageHandler(Filters.status_update.migrate, migrate_chats) # dispatcher.add_handler(test_handler) dispatcher.add_handler(start_handler) dispatcher.add_handler(start_callback_handler) dispatcher.add_handler(help_handler) dispatcher.add_handler(help_callback_handler) dispatcher.add_handler(migrate_handler) # dispatcher.add_error_handler(error_callback) # add antiflood processor Dispatcher.process_update = process_update LOGGER.info("Using long polling.") # updater.start_polling(timeout=15, read_latency=4, clean=True) updater.start_polling( poll_interval=0.0, timeout=10, clean=True, bootstrap_retries=-1, read_latency=3.0, ) LOGGER.info("Successfully loaded") if len(argv) not in (1, 3, 4): tbot.disconnect() else: tbot.run_until_disconnected() updater.idle()
sql.num_disabled(), sql.num_chats()) def __migrate__(old_chat_id, new_chat_id): sql.migrate_chat(old_chat_id, new_chat_id) __help__ = True DISABLE_HANDLER = CommandHandler("disable", disable, pass_args=True, filters=Filters.group) ENABLE_HANDLER = CommandHandler("enable", enable, pass_args=True, filters=Filters.group) COMMANDS_HANDLER = CommandHandler(["cmds", "disabled"], commands, filters=Filters.group) TOGGLE_HANDLER = CommandHandler("listcmds", list_cmds, filters=Filters.group) dispatcher.add_handler(DISABLE_HANDLER) dispatcher.add_handler(ENABLE_HANDLER) dispatcher.add_handler(COMMANDS_HANDLER) # dispatcher.add_handler(TOGGLE_HANDLER) else: DisableAbleCommandHandler = CommandHandler DisableAbleRegexHandler = RegexHandler
__help__ = True PIN_HANDLER = DisableAbleCommandHandler("pin", pin, pass_args=True, filters=Filters.group) UNPIN_HANDLER = DisableAbleCommandHandler("unpin", unpin, filters=Filters.group) INVITE_HANDLER = CommandHandler("invitelink", invite) PROMOTE_HANDLER = DisableAbleCommandHandler("promote", promote, pass_args=True) DEMOTE_HANDLER = DisableAbleCommandHandler("demote", demote, pass_args=True) REACT_HANDLER = DisableAbleCommandHandler("reaction", reaction, pass_args=True, filters=Filters.group) ADMINLIST_HANDLER = DisableAbleCommandHandler(["adminlist", "admins"], adminlist) dispatcher.add_handler(PIN_HANDLER) dispatcher.add_handler(UNPIN_HANDLER) dispatcher.add_handler(INVITE_HANDLER) dispatcher.add_handler(PROMOTE_HANDLER) dispatcher.add_handler(DEMOTE_HANDLER) dispatcher.add_handler(ADMINLIST_HANDLER) dispatcher.add_handler(REACT_HANDLER)
else: btn1 = "/connect - {}".format(tld(chat.id, "keyboard_connect")) if chat_name2: btn2 = "/connect {} - {}".format(history.chat_id2, chat_name2) else: btn2 = "" if chat_name3: btn3 = "/connect {} - {}".format(history.chat_id3, chat_name3) else: btn3 = "" # TODO: Remove except garbage update.effective_message.reply_text( tld(chat.id, "keyboard_updated"), reply_markup=ReplyKeyboardMarkup([ [ KeyboardButton("/help"), KeyboardButton("/notes - {}".format( tld(chat.id, "keyboard_notes"))), ], [KeyboardButton(btn1)], [KeyboardButton(btn2)], [KeyboardButton(btn3)], ]), ) KEYBOARD_HANDLER = CommandHandler(["keyboard"], keyboard) dispatcher.add_handler(KEYBOARD_HANDLER)
admin_ok=True) KICK_HANDLER = DisableAbleCommandHandler("kick", kick, pass_args=True, filters=Filters.group, admin_ok=True) UNBAN_HANDLER = DisableAbleCommandHandler("unban", unban, pass_args=True, filters=Filters.group, admin_ok=True) KICKME_HANDLER = DisableAbleCommandHandler("kickme", kickme, filters=Filters.group) SBAN_HANDLER = DisableAbleCommandHandler("sban", sban, pass_args=True, filters=Filters.group, admin_ok=True) BANME_HANDLER = DisableAbleCommandHandler("banme", banme, filters=Filters.group) dispatcher.add_handler(BAN_HANDLER) dispatcher.add_handler(TEMPBAN_HANDLER) dispatcher.add_handler(KICK_HANDLER) dispatcher.add_handler(UNBAN_HANDLER) dispatcher.add_handler(KICKME_HANDLER) dispatcher.add_handler(BANME_HANDLER) dispatcher.add_handler(SBAN_HANDLER)
callback_data="set_lang_en-US"), InlineKeyboardButton("English (UK) 🇬🇧", callback_data="set_lang_en-GB"), ]] + [[ InlineKeyboardButton("Indonesian 🇮🇩", callback_data="set_lang_id"), InlineKeyboardButton("Russian 🇷🇺", callback_data="set_lang_ru"), ]] + [[ InlineKeyboardButton("Spanish 🇪🇸", callback_data="set_lang_es") ]] + [[ InlineKeyboardButton(f"{tld(chat.id, 'btn_go_back')}", callback_data="bot_start") ]]), ) # query.message.delete() bot.answer_callback_query(query.id) LOCALE_HANDLER = CommandHandler(["set_locale", "locale", "lang", "setlang"], locale, pass_args=True) locale_handler = CallbackQueryHandler(locale_button, pattern="chng_lang") set_locale_handler = CallbackQueryHandler(locale_button, pattern=r"set_lang_") dispatcher.add_handler(LOCALE_HANDLER) dispatcher.add_handler(locale_handler) dispatcher.add_handler(set_locale_handler)
filters=Filters.group, admin_ok=True) WARN_FILTER_HANDLER = MessageHandler(CustomFilters.has_text & Filters.group, reply_filter) WARN_LIMIT_HANDLER = DisableAbleCommandHandler("warnlimit", set_warn_limit, pass_args=True, filters=Filters.group, admin_ok=True) WARN_STRENGTH_HANDLER = CommandHandler("strongwarn", set_warn_strength, pass_args=True, filters=Filters.group) REMOVE_WARNS_HANDLER = CommandHandler(["rmwarn", "unwarn"], remove_warns, pass_args=True, filters=Filters.group) dispatcher.add_handler(WARN_HANDLER) dispatcher.add_handler(RMWARN_QUERY_HANDLER) dispatcher.add_handler(SENDRULES_QUERY_HANDLER) dispatcher.add_handler(RESET_WARN_HANDLER) dispatcher.add_handler(MYWARNS_HANDLER) dispatcher.add_handler(ADD_WARN_HANDLER) dispatcher.add_handler(RM_WARN_HANDLER) dispatcher.add_handler(LIST_WARN_HANDLER) dispatcher.add_handler(WARN_LIMIT_HANDLER) dispatcher.add_handler(WARN_STRENGTH_HANDLER) dispatcher.add_handler(WARN_FILTER_HANDLER, WARN_HANDLER_GROUP) dispatcher.add_handler(REMOVE_WARNS_HANDLER)
admin_ok=True) TEMPMUTE_HANDLER = DisableAbleCommandHandler(["tmute", "tempmute"], temp_mute, pass_args=True, admin_ok=True) TEMP_NOMEDIA_HANDLER = DisableAbleCommandHandler(["trestrict", "temprestrict"], temp_nomedia, pass_args=True, admin_ok=True) NOMEDIA_HANDLER = DisableAbleCommandHandler(["restrict", "nomedia"], nomedia, pass_args=True, admin_ok=True) MEDIA_HANDLER = DisableAbleCommandHandler("unrestrict", media, pass_args=True, admin_ok=True) MUTEME_HANDLER = DisableAbleCommandHandler("muteme", muteme, pass_args=True, filters=Filters.group, admin_ok=True) dispatcher.add_handler(MUTE_HANDLER) dispatcher.add_handler(UNMUTE_HANDLER) dispatcher.add_handler(TEMPMUTE_HANDLER) dispatcher.add_handler(TEMP_NOMEDIA_HANDLER) dispatcher.add_handler(NOMEDIA_HANDLER) dispatcher.add_handler(MEDIA_HANDLER) dispatcher.add_handler(MUTEME_HANDLER)
URL_BLACKLIST_HANDLER = DisableAbleCommandHandler("blacklist", add_blacklist_url, filters=Filters.group, pass_args=True, admin_ok=True) ADD_URL_BLACKLIST_HANDLER = CommandHandler("addurl", add_blacklist_url, filters=Filters.group) RM_BLACKLIST_URL_HANDLER = CommandHandler("delurl", rm_blacklist_url, filters=Filters.group) GET_BLACKLISTED_URLS = CommandHandler("geturl", get_blacklisted_urls, filters=Filters.group) URL_DELETE_HANDLER = MessageHandler(Filters.entity("url"), del_blacklist_url, edited_updates=True) __help__ = False dispatcher.add_handler(URL_BLACKLIST_HANDLER) dispatcher.add_handler(ADD_URL_BLACKLIST_HANDLER) dispatcher.add_handler(RM_BLACKLIST_URL_HANDLER) dispatcher.add_handler(GET_BLACKLISTED_URLS) dispatcher.add_handler(URL_DELETE_HANDLER)
@run_async @user_admin def clear_rules(bot: Bot, update: Update): chat_id = update.effective_chat.id sql.set_rules(chat_id, "") update.effective_message.reply_text("Successfully cleared rules!") def __stats__(): return "• `{}` chats have rules set.".format(sql.num_chats()) def __migrate__(old_chat_id, new_chat_id): sql.migrate_chat(old_chat_id, new_chat_id) __help__ = True GET_RULES_HANDLER = CommandHandler("rules", get_rules, filters=Filters.group) SET_RULES_HANDLER = CommandHandler("setrules", set_rules, filters=Filters.group) RESET_RULES_HANDLER = CommandHandler("clearrules", clear_rules, filters=Filters.group) dispatcher.add_handler(GET_RULES_HANDLER) dispatcher.add_handler(SET_RULES_HANDLER) dispatcher.add_handler(RESET_RULES_HANDLER)
msg += f"_{json.get('description', None)}_" if image: try: update.effective_message.reply_photo( photo=image, caption=msg, parse_mode=ParseMode.MARKDOWN, reply_markup=InlineKeyboardMarkup(buttons)) except: msg += f" [〽️]({image})" update.effective_message.reply_text( msg, parse_mode=ParseMode.MARKDOWN, reply_markup=InlineKeyboardMarkup(buttons)) else: update.effective_message.reply_text( msg, parse_mode=ParseMode.MARKDOWN, reply_markup=InlineKeyboardMarkup(buttons)) AIRING_HANDLER = CommandHandler("airing", airing) ANIME_HANDLER = CommandHandler("anime", anime) CHARACTER_HANDLER = CommandHandler("character", character) MANGA_HANDLER = CommandHandler("manga", manga) dispatcher.add_handler(AIRING_HANDLER) dispatcher.add_handler(ANIME_HANDLER) dispatcher.add_handler(MANGA_HANDLER) dispatcher.add_handler(CHARACTER_HANDLER)
def check_afk(bot, update, user_id, fst_name, userc_id): chat = update.effective_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 = tld(chat.id, "status_afk_noreason").format(fst_name) update.effective_message.reply_text(res) else: if int(userc_id) == int(user_id): return res = tld(chat.id, "status_afk_reason").format(fst_name, user.reason) update.effective_message.reply_text(res) __help__ = True 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.all & Filters.group, 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)
def __stats__(): return "• `{}` notes, accross `{}` chats.".format(sql.num_notes(), sql.num_chats()) def __migrate__(old_chat_id, new_chat_id): sql.migrate_chat(old_chat_id, new_chat_id) __help__ = True GET_HANDLER = CommandHandler("get", cmd_get, pass_args=True) HASH_GET_HANDLER = RegexHandler(r"^#[^\s]+", hash_get) SAVE_HANDLER = CommandHandler("save", save) REMOVE_ALL_NOTES_HANDLER = CommandHandler("clearall", remove_all_notes) DELETE_HANDLER = CommandHandler("clear", clear, pass_args=True) LIST_HANDLER = DisableAbleCommandHandler(["notes", "saved"], list_notes, admin_ok=True) dispatcher.add_handler(GET_HANDLER) dispatcher.add_handler(SAVE_HANDLER) dispatcher.add_handler(LIST_HANDLER) dispatcher.add_handler(DELETE_HANDLER) dispatcher.add_handler(HASH_GET_HANDLER) dispatcher.add_handler(REMOVE_ALL_NOTES_HANDLER)
rep += f"🎧 <code>{artist} - {song}</code>" else: rep += f"🎧 <code>{artist} - {song}</code> (♥️, loved)" if image: rep += f"<a href='{image}'>\u200c</a>" else: tracks = res.json().get("recenttracks").get("track") track_dict = { tracks[i].get("artist").get("name"): tracks[i].get("name") for i in range(3) } rep = f"{user} was listening to:\n" for artist, song in track_dict.items(): rep += f"🎧 <code>{artist} - {song}</code>\n" last_user = (requests.get( f"{base_url}?method=user.getinfo&user={username}&api_key={LASTFM_API_KEY}&format=json" ).json().get("user")) scrobbles = last_user.get("playcount") rep += f"\n(<code>{scrobbles}</code> scrobbles so far)" msg.reply_text(rep, parse_mode=ParseMode.HTML) SET_USER_HANDLER = CommandHandler("setuser", set_user, pass_args=True) CLEAR_USER_HANDLER = CommandHandler("clearuser", clear_user) LASTFM_HANDLER = DisableAbleCommandHandler("lastfm", last_fm) dispatcher.add_handler(SET_USER_HANDLER) dispatcher.add_handler(CLEAR_USER_HANDLER) dispatcher.add_handler(LASTFM_HANDLER)
DEMOTE_FED_HANDLER = CommandHandler("fdemote", user_demote_fed, pass_args=True) INFO_FED_HANDLER = CommandHandler("fedinfo", fed_info, pass_args=True) BAN_FED_HANDLER = DisableAbleCommandHandler(["fban", "fedban"], fed_ban, pass_args=True) UN_BAN_FED_HANDLER = CommandHandler("unfban", unfban, pass_args=True) FED_SET_RULES_HANDLER = CommandHandler("setfrules", set_frules, pass_args=True) FED_GET_RULES_HANDLER = CommandHandler("frules", get_frules, pass_args=True) FED_CHAT_HANDLER = CommandHandler("chatfed", fed_chat, pass_args=True) FED_ADMIN_HANDLER = CommandHandler("fedadmins", fed_admin, pass_args=True) FED_NOTIF_HANDLER = CommandHandler("fednotif", fed_notif, pass_args=True) FED_CHATLIST_HANDLER = CommandHandler("fedchats", fed_chats, pass_args=True) DELETEBTN_FED_HANDLER = CallbackQueryHandler(del_fed_button, pattern=r"rmfed_") dispatcher.add_handler(NEW_FED_HANDLER) dispatcher.add_handler(DEL_FED_HANDLER) dispatcher.add_handler(JOIN_FED_HANDLER) dispatcher.add_handler(LEAVE_FED_HANDLER) dispatcher.add_handler(PROMOTE_FED_HANDLER) dispatcher.add_handler(DEMOTE_FED_HANDLER) dispatcher.add_handler(INFO_FED_HANDLER) dispatcher.add_handler(BAN_FED_HANDLER) dispatcher.add_handler(UN_BAN_FED_HANDLER) dispatcher.add_handler(FED_SET_RULES_HANDLER) dispatcher.add_handler(FED_GET_RULES_HANDLER) dispatcher.add_handler(FED_CHAT_HANDLER) dispatcher.add_handler(FED_ADMIN_HANDLER) # dispatcher.add_handler(FED_NOTIF_HANDLER) dispatcher.add_handler(FED_CHATLIST_HANDLER)
SNIPE_HANDLER = CommandHandler("snipe", snipe, pass_args=True, filters=Filters.user(OWNER_ID)) GETLINK_HANDLER = CommandHandler("getlink", getlink, pass_args=True, filters=Filters.user(OWNER_ID)) LEAVECHAT_HANDLER = CommandHandler("leavechat", leavechat, pass_args=True, filters=Filters.user(OWNER_ID)) DELETE_CHATS_HANDLER = CommandHandler("cleanchats", rem_chat, filters=Filters.user(OWNER_ID)) SLIST_HANDLER = CommandHandler("slist", slist, filters=CustomFilters.sudo_filter | CustomFilters.support_filter) CHAT_CHECKER_HANDLER = MessageHandler(Filters.all & Filters.group, chat_checker) dispatcher.add_handler(SNIPE_HANDLER) dispatcher.add_handler(GETLINK_HANDLER) dispatcher.add_handler(LEAVECHAT_HANDLER) dispatcher.add_handler(SLIST_HANDLER) dispatcher.add_handler(USER_HANDLER, USERS_GROUP) dispatcher.add_handler(BROADCAST_HANDLER) dispatcher.add_handler(CHAT_CHECKER_HANDLER, CHAT_GROUP) dispatcher.add_handler(DELETE_CHATS_HANDLER)
to_translate_text = remove_emoji(msg.reply_to_message.text) else: msg.reply_text(tld(chat.id, "translator_no_str")) return if not args: msg.reply_text(tld(chat.id, "translator_no_args")) return translator = Translator() try: translated = translator.translate(to_translate_text, dest=lan) except ValueError as e: msg.reply_text(tld(chat.id, "translator_err").format(e)) src_lang = LANGUAGES[f"{translated.src.lower()}"].title() dest_lang = LANGUAGES[f"{translated.dest.lower()}"].title() translated_text = translated.text msg.reply_text( tld(chat.id, "translator_translated").format(src_lang, to_translate_text, dest_lang, translated_text), parse_mode=ParseMode.MARKDOWN, ) __help__ = True dispatcher.add_handler( DisableAbleCommandHandler("tr", do_translate, pass_args=True))
) elif e.message == "Internal Server Error: created sticker set not found (500)": msg.reply_text( tld(chat.id, "stickers_kang_success").format(packname, sticker_emoji), parse_mode=ParseMode.MARKDOWN, ) return if success: msg.reply_text( tld(chat.id, "stickers_kang_success").format(packname, emoji), parse_mode=ParseMode.MARKDOWN, ) else: msg.reply_text(tld(chat.id, "stickers_pack_create_error")) __help__ = True STICKERID_HANDLER = DisableAbleCommandHandler("stickerid", stickerid) GETSTICKER_HANDLER = DisableAbleCommandHandler("getsticker", getsticker) KANG_HANDLER = DisableAbleCommandHandler("kang", kang, pass_args=True, admin_ok=True) dispatcher.add_handler(STICKERID_HANDLER) dispatcher.add_handler(GETSTICKER_HANDLER) dispatcher.add_handler(KANG_HANDLER)
if log_channel: try: bot.send_message( log_channel, tld(chat.id, "log_channel_unlink_success").format(chat.title), ) message.reply_text(tld(chat.id, "Log channel has been un-set.")) except Exception: print("Nut") else: message.reply_text(tld(chat.id, "log_channel_unlink_none")) def __stats__(): return "• `{}` log channels set.".format(sql.num_logchannels()) def __migrate__(old_chat_id, new_chat_id): sql.migrate_chat(old_chat_id, new_chat_id) __help__ = True LOG_HANDLER = CommandHandler("logchannel", logging) SET_LOG_HANDLER = CommandHandler("setlog", setlog) UNSET_LOG_HANDLER = CommandHandler("unsetlog", unsetlog) dispatcher.add_handler(LOG_HANDLER) dispatcher.add_handler(SET_LOG_HANDLER) dispatcher.add_handler(UNSET_LOG_HANDLER)
pass_args=True, filters=CustomFilters.sudo_filter | CustomFilters.support_filter, ) UNGBANQ_HANDLER = CommandHandler( "ungban_quicc", ungban_quicc, pass_args=True, filters=CustomFilters.sudo_filter | CustomFilters.support_filter, ) GBAN_LIST = CommandHandler("gbanlist", gbanlist, filters=Filters.user(OWNER_ID)) GBAN_ENFORCER = MessageHandler(Filters.all & Filters.group, enforce_gban) CLEAN_DELACC_HANDLER = CommandHandler("cleandelacc", clear_gbans, filters=Filters.user(OWNER_ID)) dispatcher.add_handler(ANTISPAM_STATUS) dispatcher.add_handler(GBAN_HANDLER) dispatcher.add_handler(UNGBAN_HANDLER) dispatcher.add_handler(CLEAN_DELACC_HANDLER) dispatcher.add_handler(UNGBANQ_HANDLER) dispatcher.add_handler(GBAN_LIST) if STRICT_ANTISPAM: # enforce GBANS if this is set dispatcher.add_handler(GBAN_ENFORCER, GBAN_ENFORCE_GROUP)
cmd = update.message.text.split(" ", maxsplit=1) if len(cmd) == 1: sendMessage("No command provided!", bot, update) return LOGGER.info(cmd) output = shell(cmd[1]) if output[1].decode(): LOGGER.error(f"Shell: {output[1].decode()}") if len(output[0].decode()) > 4000: with open("shell.txt", "w") as f: f.write(f"Output\n-----------\n{output[0].decode()}\n") if output[1]: f.write(f"STDError\n-----------\n{output[1].decode()}\n") with open("shell.txt", "rb") as f: bot.send_document( document=f, filename=f.name, reply_to_message_id=update.message.message_id, chat_id=update.message.chat_id, ) else: if output[1].decode(): sendMessage(f"<code>{output[1].decode()}</code>", bot, update) return else: sendMessage(f"<code>{output[0].decode()}</code>", bot, update) shell_handler = CommandHandler(("sh", "shell"), shellExecute) dispatcher.add_handler(shell_handler)
tld(chat.id, "connection_err_no_admin")) return else: return conn_id else: update.effective_message.reply_text( tld(chat.id, "connection_err_unknown")) disconnect_chat(bot, update) return else: return False __help__ = True CONNECT_CHAT_HANDLER = CommandHandler(["connect", "connection"], connect_chat, allow_edited=True, pass_args=True) DISCONNECT_CHAT_HANDLER = CommandHandler("disconnect", disconnect_chat, allow_edited=True) ALLOW_CONNECTIONS_HANDLER = CommandHandler("allowconnect", allow_connections, allow_edited=True, pass_args=True) dispatcher.add_handler(CONNECT_CHAT_HANDLER) dispatcher.add_handler(DISCONNECT_CHAT_HANDLER) dispatcher.add_handler(ALLOW_CONNECTIONS_HANDLER)
STATS_HANDLER = CommandHandler("stats", stats, filters=Filters.user(OWNER_ID)) GDPR_HANDLER = CommandHandler("gdpr", gdpr, filters=Filters.private) PASTE_HANDLER = DisableAbleCommandHandler("paste", paste, pass_args=True) GET_PASTE_HANDLER = DisableAbleCommandHandler("getpaste", get_paste_content, pass_args=True) PASTE_STATS_HANDLER = DisableAbleCommandHandler("pastestats", get_paste_stats, pass_args=True) UD_HANDLER = DisableAbleCommandHandler("ud", ud) WIKI_HANDLER = DisableAbleCommandHandler("wiki", wiki) COVID_HANDLER = DisableAbleCommandHandler("covid", covid, admin_ok=True) ID_HANDLER = DisableAbleCommandHandler("id", get_id, pass_args=True) RAM_HANDLER = CommandHandler("ram", ram, filters=CustomFilters.sudo_filter) dispatcher.add_handler(UD_HANDLER) dispatcher.add_handler(PASTE_HANDLER) dispatcher.add_handler(GET_PASTE_HANDLER) dispatcher.add_handler(PASTE_STATS_HANDLER) dispatcher.add_handler(ID_HANDLER) dispatcher.add_handler(IP_HANDLER) dispatcher.add_handler(SUDO_LIST_HANDLER) dispatcher.add_handler(SUPPORT_LIST_HANDLER) dispatcher.add_handler(SPEEDTEST_HANDLER) dispatcher.add_handler(INFO_HANDLER) dispatcher.add_handler(ECHO_HANDLER) dispatcher.add_handler(PING_HANDLER) dispatcher.add_handler(MD_HELP_HANDLER) dispatcher.add_handler(RAM_HANDLER) dispatcher.add_handler(STATS_HANDLER) dispatcher.add_handler(GDPR_HANDLER)
SECURITY_BUTTONTXT_HANDLER = CommandHandler("setmutetext", security_text, pass_args=True, filters=Filters.group) SECURITY_BUTTONRESET_HANDLER = CommandHandler("resetmutetext", security_text_reset, filters=Filters.group) CLEAN_SERVICE_HANDLER = CommandHandler("cleanservice", cleanservice, pass_args=True, filters=Filters.group) help_callback_handler = CallbackQueryHandler(check_bot_button, pattern=r"check_bot_") dispatcher.add_handler(NEW_MEM_HANDLER) dispatcher.add_handler(LEFT_MEM_HANDLER) dispatcher.add_handler(WELC_PREF_HANDLER) dispatcher.add_handler(GOODBYE_PREF_HANDLER) dispatcher.add_handler(SET_WELCOME) dispatcher.add_handler(SET_GOODBYE) dispatcher.add_handler(RESET_WELCOME) dispatcher.add_handler(RESET_GOODBYE) dispatcher.add_handler(CLEAN_WELCOME) dispatcher.add_handler(SECURITY_HANDLER) dispatcher.add_handler(SECURITY_MUTE_HANDLER) dispatcher.add_handler(SECURITY_BUTTONTXT_HANDLER) dispatcher.add_handler(SECURITY_BUTTONRESET_HANDLER) dispatcher.add_handler(CLEAN_SERVICE_HANDLER) dispatcher.add_handler(help_callback_handler)
def flood(bot: Bot, update: Update): chat = update.effective_chat limit = sql.get_flood_limit(chat.id) if limit == 0: update.effective_message.reply_text(tld(chat.id, "flood_status_off")) else: update.effective_message.reply_text( tld(chat.id, "flood_status_on").format(limit)) def __migrate__(old_chat_id, new_chat_id): sql.migrate_chat(old_chat_id, new_chat_id) __help__ = True # TODO: Add actions: ban/kick/mute/tban/tmute FLOOD_BAN_HANDLER = MessageHandler( Filters.all & ~Filters.status_update & Filters.group, check_flood) SET_FLOOD_HANDLER = CommandHandler("setflood", set_flood, pass_args=True, filters=Filters.group) FLOOD_HANDLER = CommandHandler("flood", flood, filters=Filters.group) dispatcher.add_handler(FLOOD_BAN_HANDLER, FLOOD_GROUP) dispatcher.add_handler(SET_FLOOD_HANDLER) dispatcher.add_handler(FLOOD_HANDLER)
chat_id=query.message.chat_id, parse_mode=ParseMode.HTML, ) query.answer("❎ Failed to ban") elif splitter[1] == "delete": try: bot.deleteMessage(splitter[0], splitter[3]) query.answer("✅ Message Deleted") return "" except Exception as err: bot.sendMessage( text="Error: {}".format(err), chat_id=query.message.chat_id, parse_mode=ParseMode.HTML, ) query.answer("❎ Failed to delete message!") __help__ = True REPORT_HANDLER = CommandHandler("report", report, filters=Filters.group) SETTING_HANDLER = CommandHandler("reports", report_setting, pass_args=True) ADMIN_REPORT_HANDLER = RegexHandler("(?i)@admin(s)?", report) report_button_user_handler = CallbackQueryHandler(buttons, pattern=r"report_") dispatcher.add_handler(report_button_user_handler) dispatcher.add_handler(REPORT_HANDLER, REPORT_GROUP) dispatcher.add_handler(ADMIN_REPORT_HANDLER, REPORT_GROUP) dispatcher.add_handler(SETTING_HANDLER)
update.effective_message.reply_text(res, parse_mode=ParseMode.MARKDOWN) def __migrate__(old_chat_id, new_chat_id): sql.migrate_chat(old_chat_id, new_chat_id) __help__ = True LOCKTYPES_HANDLER = DisableAbleCommandHandler("locktypes", locktypes) LOCK_HANDLER = CommandHandler("lock", lock, pass_args=True, filters=Filters.group) UNLOCK_HANDLER = CommandHandler("unlock", unlock, pass_args=True, filters=Filters.group) LOCKED_HANDLER = CommandHandler("locks", list_locks, filters=Filters.group) dispatcher.add_handler(LOCK_HANDLER) dispatcher.add_handler(UNLOCK_HANDLER) dispatcher.add_handler(LOCKTYPES_HANDLER) dispatcher.add_handler(LOCKED_HANDLER) dispatcher.add_handler( MessageHandler(Filters.all & Filters.group, del_lockables), PERM_GROUP) dispatcher.add_handler( MessageHandler(Filters.all & Filters.group, rest_handler), REST_GROUP)
sql.migrate_chat(old_chat_id, new_chat_id) def __stats__(): return "• `{}` blacklist triggers, across `{}` chats.".format( sql.num_blacklist_filters(), sql.num_blacklist_filter_chats()) __help__ = True # TODO: Add blacklist alternative modes: warn, ban, kick, or mute. BLACKLIST_HANDLER = DisableAbleCommandHandler("blacklist", blacklist, pass_args=True, admin_ok=True) ADD_BLACKLIST_HANDLER = CommandHandler("addblacklist", add_blacklist) UNBLACKLIST_HANDLER = CommandHandler(["unblacklist", "rmblacklist"], unblacklist) BLACKLIST_DEL_HANDLER = MessageHandler( (Filters.text | Filters.command | Filters.sticker | Filters.photo) & Filters.group, del_blacklist, edited_updates=True, ) dispatcher.add_handler(BLACKLIST_HANDLER) dispatcher.add_handler(ADD_BLACKLIST_HANDLER) dispatcher.add_handler(UNBLACKLIST_HANDLER) dispatcher.add_handler(BLACKLIST_DEL_HANDLER, group=BLACKLIST_GROUP)
__help__ = True OWO_HANDLER = DisableAbleCommandHandler("owo", owo, admin_ok=True, pass_args=True) STRETCH_HANDLER = DisableAbleCommandHandler("stretch", stretch, pass_args=True) VAPOR_HANDLER = DisableAbleCommandHandler("vapor", vapor, pass_args=True, admin_ok=True) ZALGO_HANDLER = DisableAbleCommandHandler("zalgofy", zalgotext, pass_args=True) DEEPFRY_HANDLER = DisableAbleCommandHandler("deepfry", deepfryer, admin_ok=True) SHOUT_HANDLER = DisableAbleCommandHandler("shout", shout, pass_args=True) INSULTS_HANDLER = DisableAbleCommandHandler("insults", insults, admin_ok=True) RUNS_HANDLER = DisableAbleCommandHandler("runs", runs, admin_ok=True) SLAP_HANDLER = DisableAbleCommandHandler("slap", slap, pass_args=True, admin_ok=True) dispatcher.add_handler(SHOUT_HANDLER) dispatcher.add_handler(OWO_HANDLER) dispatcher.add_handler(STRETCH_HANDLER) dispatcher.add_handler(VAPOR_HANDLER) dispatcher.add_handler(INSULTS_HANDLER) dispatcher.add_handler(RUNS_HANDLER) dispatcher.add_handler(SLAP_HANDLER)
for fx in f_flist: sql.remove_filter(chat.id, fx) message.reply_text(tld(chat.id, "cust_filters_cleanup_success").format(x)) def __stats__(): return "• `{}` filters, across `{}` chats.".format(sql.num_filters(), sql.num_chats()) def __migrate__(old_chat_id, new_chat_id): sql.migrate_chat(old_chat_id, new_chat_id) __help__ = True FILTER_HANDLER = DisableAbleCommandHandler("filter", filters) STOP_HANDLER = DisableAbleCommandHandler("stop", stop_filter) STOPALL_HANDLER = DisableAbleCommandHandler("stopall", stop_all_filters) LIST_HANDLER = DisableAbleCommandHandler("filters", list_handlers, admin_ok=True) CUST_FILTER_HANDLER = MessageHandler(CustomFilters.has_text, reply_filter) dispatcher.add_handler(FILTER_HANDLER) dispatcher.add_handler(STOP_HANDLER) dispatcher.add_handler(STOPALL_HANDLER) dispatcher.add_handler(LIST_HANDLER) dispatcher.add_handler(CUST_FILTER_HANDLER, HANDLER_GROUP)