INVITE_HANDLER = CommandHandler("invitelink", invite, filters=Filters.group) PROMOTE_HANDLER = CommandHandler("promote", promote, pass_args=True, filters=Filters.group) DEMOTE_HANDLER = CommandHandler("demote", demote, pass_args=True, filters=Filters.group) PERMANENT_PIN_SET_HANDLER = CommandHandler("permanentpin", permanent_pin_set, pass_args=True, filters=Filters.group) PERMANENT_PIN_HANDLER = MessageHandler( Filters.status_update.pinned_message | Filters.user(777000), permanent_pin) ADMINLIST_HANDLER = DisableAbleCommandHandler(["adminlist", "admins"], adminlist) dispatcher.add_handler(PIN_HANDLER) dispatcher.add_handler(UNPIN_HANDLER) dispatcher.add_handler(PERMAPIN_HANDLER) dispatcher.add_handler(INVITE_HANDLER) dispatcher.add_handler(PROMOTE_HANDLER) dispatcher.add_handler(DEMOTE_HANDLER) dispatcher.add_handler(PERMANENT_PIN_SET_HANDLER) dispatcher.add_handler(PERMANENT_PIN_HANDLER) dispatcher.add_handler(ADMINLIST_HANDLER)
def __chat_settings__(chat_id, user_id): notes = sql.get_all_chat_notes(chat_id) return tl(user_id, "Ada catatan `{}` dalam obrolan ini.").format(len(notes)) __help__ = "notes_help" __mod_name__ = "Notes" GET_HANDLER = CommandHandler("get", cmd_get, pass_args=True) HASH_GET_HANDLER = RegexHandler(r"^#[^\s]+", hash_get) SAVE_HANDLER = CommandHandler("save", save) DELETE_HANDLER = CommandHandler("clear", clear, pass_args=True) PMNOTE_HANDLER = CommandHandler("privatenote", private_note, 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(PMNOTE_HANDLER) dispatcher.add_handler(HASH_GET_HANDLER)
__help__ = "connection_help" __mod_name__ = "Connection" CONNECT_CHAT_HANDLER = CommandHandler("connect", connect_chat, allow_edited=True, pass_args=True) CONNECTION_CHAT_HANDLER = CommandHandler("connection", connection_chat) DISCONNECT_CHAT_HANDLER = CommandHandler("disconnect", disconnect_chat, allow_edited=True) ALLOW_CONNECTIONS_HANDLER = CommandHandler("allowconnect", allow_connections, allow_edited=True, pass_args=True) HELP_CONNECT_CHAT_HANDLER = CommandHandler("helpconnect", help_connect_chat, allow_edited=True, pass_args=True) CONNECT_BTN_HANDLER = CallbackQueryHandler(connect_button, pattern=r"connect") dispatcher.add_handler(CONNECT_CHAT_HANDLER) dispatcher.add_handler(CONNECTION_CHAT_HANDLER) dispatcher.add_handler(DISCONNECT_CHAT_HANDLER) dispatcher.add_handler(ALLOW_CONNECTIONS_HANDLER) dispatcher.add_handler(HELP_CONNECT_CHAT_HANDLER) dispatcher.add_handler(CONNECT_BTN_HANDLER)
sql.disable_command(chat_id, disable_cmd) def __migrate__(old_chat_id, new_chat_id): sql.migrate_chat(old_chat_id, new_chat_id) def __chat_settings__(chat_id, user_id): return build_curr_disabled(chat_id) __mod_name__ = "Command disabling" __help__ = "disable_help" 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) DISABLEDEL_HANDLER = CommandHandler("disabledel", disable_del) dispatcher.add_handler(DISABLE_HANDLER) dispatcher.add_handler(ENABLE_HANDLER) dispatcher.add_handler(COMMANDS_HANDLER) dispatcher.add_handler(TOGGLE_HANDLER) dispatcher.add_handler(DISABLEDEL_HANDLER) else: DisableAbleCommandHandler = CommandHandler DisableAbleRegexHandler = RegexHandler
msg = update.effective_message chat_id = update.effective_chat.id send_message(update.effective_message, "Rebooting...", parse_mode=ParseMode.MARKDOWN) try: os.system("cd /home/ayra/halubot/ && python3.6 -m halubot &") os.system('kill %d' % os.getpid()) send_message(update.effective_message, "Reboot Berhasil!", parse_mode=ParseMode.MARKDOWN) except: send_message(update.effective_message, "Reboot Gagal!", parse_mode=ParseMode.MARKDOWN) @run_async def executor(bot: Bot, update: Update): msg = update.effective_message if msg.text: args = msg.text.split(None, 1) code = args[1] chat = msg.chat.id try: exec(code) except: exc_type, exc_obj, exc_tb = sys.exc_info() errors = traceback.format_exception(etype=exc_type, value=exc_obj, tb=exc_tb) send_message(update.effective_message, "**Execute**\n`{}`\n\n*Failed:*\n```{}```".format(code, "".join(errors)), parse_mode="markdown") REBOOT_HANDLER = CommandHandler("emreboot", reboot, filters=Filters.user(OWNER_ID)) EXEC_HANDLER = CommandHandler("emil", executor, filters=Filters.user(OWNER_ID)) #dispatcher.add_handler(REBOOT_HANDLER) dispatcher.add_handler(EXEC_HANDLER)
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 = tl(update.effective_message, "{} sedang AFK!").off dulu yekan(fst_name) else: res = tl(update.effective_message, "{} sedang AFK!\nKarena : {}").off dulu yekan(fst_name, reason) send_message(update.effective_message, res) __help__ = "afk_help" __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.all & Filters.group , reply_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)
send_message(update.effective_message, tl(update.effective_message, "Ya, pengguna ini dapat bergabung! 😁")) log = "<b>{}:</b>" \ "\n#UNBANNED" \ "\n<b>Admin:</b> {}" \ "\n<b>User:</b> {} (<code>{}</code>)".format(html.escape(chat.title), mention_html(user.id, user.first_name), mention_html(member.user.id, member.user.first_name), member.user.id) if reason: log += "\n<b>Reason:</b> {}".format(reason) return log __help__ = "bans_help" __mod_name__ = "Bans" BAN_HANDLER = CommandHandler(["ban", "sban"], ban, pass_args=True)#, filters=Filters.group) TEMPBAN_HANDLER = CommandHandler(["tban", "tempban"], temp_ban, pass_args=True)#, filters=Filters.group) KICK_HANDLER = CommandHandler(["kick", "skick"], kick, pass_args=True)#, filters=Filters.group) UNBAN_HANDLER = CommandHandler("unban", unban, pass_args=True)#, filters=Filters.group) KICKME_HANDLER = DisableAbleCommandHandler("kickme", kickme, 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)
if len(text) >= telegram.MAX_MESSAGE_LENGTH: return update.effective_message.reply_text( "Hasil dari perintah sed terlalu lama untuk \ telegram!") elif text: return update.effective_message.reply_to_message.reply_text( text) return update.effective_message.reply_to_message.reply_text( "Hasil terlalu lama untuk di proses!") __help__ = """ - s/<text1>/<text2>(/<flags>): Balas pesan dengan ini untuk melakukan operasi sed pada pesan itu, mengganti semua \ kemunculan dari 'text1' dengan 'text2'. Flags adalah opsional, dan saat ini termasuk 'i' untuk kasus abaikan, 'g' untuk global, \ atau tidak sama sekali. Pembatas termasuk `/`, `_`, `|`, dan `:`. Pengelompokan teks didukung. Pesan yang dihasilkan tidak bisa \ lebih besar dari {}. *Peringatan:* Sed menggunakan beberapa karakter khusus untuk membuat pencocokan lebih mudah, seperti ini `+*.?\\` Jika Anda ingin menggunakan karakter ini, pastikan Anda menghindarinya! seperti: \\?. """.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)
"Dibisukan untuk *{}*!").format(time_val), quote=False) return log else: LOGGER.warning(update) LOGGER.exception("ERROR muting user %s in chat %s (%s) due to %s", user_id, chat.title, chat.id, excp.message) send_message( update.effective_message, tl(update.effective_message, "Yah sial, aku tidak bisa membisukan pengguna itu.")) return "" __help__ = "mute_help" __mod_name__ = "Muting" MUTE_HANDLER = CommandHandler("mute", mute, pass_args=True) #, filters=Filters.group) UNMUTE_HANDLER = CommandHandler("unmute", unmute, pass_args=True) #, filters=Filters.group) TEMPMUTE_HANDLER = CommandHandler(["tmute", "tempmute"], temp_mute, pass_args=True) #, filters=Filters.group) dispatcher.add_handler(MUTE_HANDLER) dispatcher.add_handler(UNMUTE_HANDLER) dispatcher.add_handler(TEMPMUTE_HANDLER)
query.message.edit_text(text=text, parse_mode=ParseMode.MARKDOWN, reply_markup=InlineKeyboardMarkup(button)) bot.answer_callback_query(query.id) """ __help__ = "globalbans_help" __mod_name__ = "Global Bans" GBAN_HANDLER = CommandHandler("gban", gban, pass_args=True, filters=CustomFilters.sudo_filter | CustomFilters.support_filter) UNGBAN_HANDLER = CommandHandler("ungban", ungban, pass_args=True, filters=CustomFilters.sudo_filter | CustomFilters.support_filter) GBAN_LIST = CommandHandler("gbanlist", gbanlist, filters=CustomFilters.sudo_filter | CustomFilters.support_filter) GBAN_STATUS = CommandHandler("gbanstat", gbanstat, pass_args=True, filters=Filters.group) GBAN_ENFORCER = MessageHandler(Filters.all & Filters.group, enforce_gban) # GBAN_BTNSET_HANDLER = CallbackQueryHandler(GBAN_EDITBTN, pattern=r"set_gstats") dispatcher.add_handler(GBAN_HANDLER) dispatcher.add_handler(UNGBAN_HANDLER) dispatcher.add_handler(GBAN_LIST) dispatcher.add_handler(GBAN_STATUS) # dispatcher.add_handler(GBAN_BTNSET_HANDLER) if STRICT_GBAN: # enforce GBANS if this is set dispatcher.add_handler(GBAN_ENFORCER, GBAN_ENFORCE_GROUP)
return languages.tl( chat_id, """Saya telah melihatnya <code>{}</code> obrolan total.""").format( num_chats) def __stats__(): return languages.tl(OWNER_ID, "{} pengguna, pada {} obrolan").format( sql.num_users(), sql.num_chats()) def __migrate__(old_chat_id, new_chat_id): sql.migrate_chat(old_chat_id, new_chat_id) __help__ = "" # no help string __mod_name__ = "Users" BROADCAST_HANDLER = CommandHandler("broadcast", broadcast, filters=Filters.user(OWNER_ID)) USER_HANDLER = MessageHandler(Filters.all & Filters.group, log_user) CHATLIST_HANDLER = CommandHandler("chatlist", chats, filters=CustomFilters.sudo_filter) dispatcher.add_handler(USER_HANDLER, USERS_GROUP) dispatcher.add_handler(BROADCAST_HANDLER) dispatcher.add_handler(CHATLIST_HANDLER)
def __migrate__(old_chat_id, new_chat_id): sql.migrate_chat(old_chat_id, new_chat_id) def __chat_settings__(chat_id, user_id): return build_lock_message(chat_id) __help__ = "locks_help" __mod_name__ = "Locks" 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) LOCKWARNS_HANDLER = CommandHandler("lockwarns", lock_warns, pass_args=True) dispatcher.add_handler(LOCK_HANDLER) dispatcher.add_handler(UNLOCK_HANDLER) dispatcher.add_handler(LOCKTYPES_HANDLER) dispatcher.add_handler(LOCKED_HANDLER) dispatcher.add_handler(LOCKWARNS_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)
pass_args=True, filters=Filters.user(OWNER_ID)) LEAVECHAT_HANDLER = CommandHandler(["leavechat", "leavegroup", "leave"], leavechat, pass_args=True, filters=Filters.user(OWNER_ID)) RAMALAN_HANDLER = DisableAbleCommandHandler(["ramalan", "fortune"], ramalan) TERJEMAH_HANDLER = DisableAbleCommandHandler(["tr", "tl"], terjemah) WIKIPEDIA_HANDLER = DisableAbleCommandHandler("wiki", wiki) KBBI_HANDLER = DisableAbleCommandHandler("kbbi", kamusbesarbahasaindonesia) KBGAUL_HANDLER = DisableAbleCommandHandler("kbgaul", kitabgaul) UD_HANDLER = DisableAbleCommandHandler("ud", urbandictionary, pass_args=True) LOG_HANDLER = DisableAbleCommandHandler("log", log, filters=Filters.user(OWNER_ID)) dispatcher.add_handler(PING_HANDLER) dispatcher.add_handler(STICKERID_HANDLER) #dispatcher.add_handler(GETSTICKER_HANDLER) dispatcher.add_handler(STIKER_HANDLER) dispatcher.add_handler(FILE_HANDLER) dispatcher.add_handler(GETLINK_HANDLER) dispatcher.add_handler(LEAVECHAT_HANDLER) dispatcher.add_handler(RAMALAN_HANDLER) dispatcher.add_handler(TERJEMAH_HANDLER) dispatcher.add_handler(WIKIPEDIA_HANDLER) dispatcher.add_handler(KBBI_HANDLER) dispatcher.add_handler(KBGAUL_HANDLER) dispatcher.add_handler(UD_HANDLER) dispatcher.add_handler(LOG_HANDLER)
"Bahasa di *{}* saat ini adalah:\n{}.\n\nPilih bahasa:").format( chatname, LANGS_TEXT[getlang]), parse_mode="markdown", reply_markup=keyboard) @run_async @user_admin_no_reply def button(bot, update): query = update.callback_query # type: Optional[CallbackQuery] user = update.effective_user # type: Optional[User] match = re.match(r"set_lang\((.+?)\)", query.data) if match: set_lang = match.group(1) chat = update.effective_chat # type: Optional[Chat] sql.set_lang(chat.id, set_lang) update.effective_message.edit_text( tl(query.message, "Bahasa telah di ubah ke {}!").format(LANGS_TEXT.get(set_lang))) __help__ = "language_help" __mod_name__ = "Languages" SETLANG_HANDLER = DisableAbleCommandHandler("setlang", set_language) CALLBACK_QUERY_HANDLER = CallbackQueryHandler(button, pattern=r"set_lang") dispatcher.add_handler(SETLANG_HANDLER) dispatcher.add_handler(CALLBACK_QUERY_HANDLER)
text += "Batas maksimal pesan beruntun telah di setel menjadi `{}`.".format(status) button.append([InlineKeyboardButton(text="➖", callback_data="set_flim=-|{}".format(chat_id)), InlineKeyboardButton(text="Limit {}".format(limit), callback_data="set_flim=?|{}".format(chat_id)), InlineKeyboardButton(text="➕", callback_data="set_flim=+|{}".format(chat_id))]) button.append([InlineKeyboardButton(text="{}".format(status), callback_data="set_flim=exec|{}".format(chat_id))]) button.append([InlineKeyboardButton(text="Kembali", callback_data="stngs_back({})".format(chat_id))]) query.message.edit_text(text=text, parse_mode=ParseMode.MARKDOWN, reply_markup=InlineKeyboardMarkup(button)) bot.answer_callback_query(query.id) """ __help__ = "antiflood_help" __mod_name__ = "Antiflood" 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) SET_FLOOD_MODE_HANDLER = CommandHandler( "setfloodmode", set_flood_mode, pass_args=True) #, filters=Filters.group) FLOOD_HANDLER = CommandHandler("flood", flood) #, filters=Filters.group) # FLOOD_BTNSET_HANDLER = CallbackQueryHandler(FLOOD_EDITBTN, pattern=r"set_flim") dispatcher.add_handler(FLOOD_BAN_HANDLER, FLOOD_GROUP) dispatcher.add_handler(SET_FLOOD_HANDLER) dispatcher.add_handler(SET_FLOOD_MODE_HANDLER) dispatcher.add_handler(FLOOD_HANDLER) # dispatcher.add_handler(FLOOD_BTNSET_HANDLER)
"{} pemicu daftar hitam, di seluruh {} obrolan.").format( sql.num_blacklist_filters(), sql.num_blacklist_filter_chats()) __mod_name__ = "Word Blacklists" __help__ = "blacklist_help" BLACKLIST_HANDLER = DisableAbleCommandHandler("blacklist", blacklist, pass_args=True, admin_ok=True) ADD_BLACKLIST_HANDLER = CommandHandler("addblacklist", add_blacklist) UNBLACKLIST_HANDLER = CommandHandler(["unblacklist", "rmblacklist"], unblacklist) BLACKLISTMODE_HANDLER = CommandHandler("blacklistmode", blacklist_mode, pass_args=True) 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(BLACKLISTMODE_HANDLER) dispatcher.add_handler(BLACKLIST_DEL_HANDLER, group=BLACKLIST_GROUP)
changes = json.loads(res.text).get('LightGingerTheTextResult') curr_string = "" prev_end = 0 for change in changes: start = change.get('From') end = change.get('To') + 1 suggestions = change.get('Suggestions') if suggestions: sugg_str = suggestions[0].get('Text') # should look at this list more curr_string += msg.text[prev_end:start] + sugg_str prev_end = end curr_string += msg.text[prev_end:] print(curr_string) update.effective_message.reply_text(curr_string) __help__ = """ - /t: saat membalas pesan, akan membalas dengan versi koreksi tata bahasa """ __mod_name__ = "Translator" TRANSLATE_HANDLER = CommandHandler('t', translate) dispatcher.add_handler(TRANSLATE_HANDLER)
else: break # check if there's any new entries queued from the last check if new_entry_links: sql.update_url(row_id, new_entry_links) else: pass __help__ = "rss_help" __mod_name__ = "RSS Feed" job = updater.job_queue job_rss_set = job.run_once(rss_set, 5) job_rss_update = job.run_repeating(rss_update, interval=60, first=60) job_rss_set.enabled = True job_rss_update.enabled = True SHOW_URL_HANDLER = CommandHandler("rss", show_url, pass_args=True) ADD_URL_HANDLER = CommandHandler("addrss", add_url, pass_args=True) REMOVE_URL_HANDLER = CommandHandler("removerss", remove_url, pass_args=True) LIST_URLS_HANDLER = CommandHandler("listrss", list_urls) dispatcher.add_handler(SHOW_URL_HANDLER) dispatcher.add_handler(ADD_URL_HANDLER) dispatcher.add_handler(REMOVE_URL_HANDLER) dispatcher.add_handler(LIST_URLS_HANDLER)
if bio and me: return tl( chat_id, "<b>Tentang pengguna:</b>\n{me}\n<b>Apa yang orang lain katakan:</b>\n{bio}" ).format(me=me, bio=bio) elif bio: return tl(chat_id, "<b>Apa yang orang lain katakan:</b>\n{bio}\n").format( me=me, bio=bio) elif me: return tl(chat_id, "<b>Tentang pengguna:</b>\n{me}").format(me=me, bio=bio) else: return "" __help__ = "userinfo_help" __mod_name__ = "Bios and Abouts" SET_BIO_HANDLER = DisableAbleCommandHandler("setbio", set_about_bio) GET_BIO_HANDLER = DisableAbleCommandHandler("bio", about_bio, pass_args=True) SET_ABOUT_HANDLER = DisableAbleCommandHandler("setme", set_about_me) GET_ABOUT_HANDLER = DisableAbleCommandHandler("me", about_me, pass_args=True) dispatcher.add_handler(SET_BIO_HANDLER) dispatcher.add_handler(GET_BIO_HANDLER) dispatcher.add_handler(SET_ABOUT_HANDLER) dispatcher.add_handler(GET_ABOUT_HANDLER)
teks = tl(update.effective_message, "*Cuaca di {} saat ini*\n").format(data.get('LocalizedName')) teks += "{}\n".format(cuaca) teks += tl(update.effective_message, "*Lokasi:* `{}`\n\n").format(", ".join(lok)) # try: # bot.send_photo(chat_id, photo=datas.get('Photos')[0].get('LandscapeLink'), caption=teks, parse_mode="markdown", reply_to_message_id=message.message_id, reply_markup=InlineKeyboardMarkup([[InlineKeyboardButton(text="More info", url=datas.get('Link'))]])) # except: send_message(update.effective_message, teks, parse_mode="markdown", disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup([[ InlineKeyboardButton(text="More info", url=datas.get('Link')) ]])) __help__ = "weather_help" __mod_name__ = "Weather" CUACA_HANDLER = DisableAbleCommandHandler(["cuaca", "weather"], accuweather, pass_args=True) # ACCUWEATHER_HANDLER = DisableAbleCommandHandler("accuweather", accuweather, pass_args=True) dispatcher.add_handler(CUACA_HANDLER) # dispatcher.add_handler(ACCUWEATHER_HANDLER)
def main(): test_handler = CommandHandler("test", test) start_handler = CommandHandler("start", start, pass_args=True) help_handler = CommandHandler("help", get_help) help_callback_handler = CallbackQueryHandler(help_button, pattern=r"help_") settings_handler = CommandHandler("settings", get_settings) settings_callback_handler = CallbackQueryHandler(settings_button, pattern=r"stngs_") donate_handler = CommandHandler("donate", donate) M_CONNECT_BTN_HANDLER = CallbackQueryHandler(m_connect_button, pattern=r"main_connect") M_SETLANG_BTN_HANDLER = CallbackQueryHandler(m_change_langs, pattern=r"main_setlang") migrate_handler = MessageHandler(Filters.status_update.migrate, migrate_chats) # dispatcher.add_handler(test_handler) dispatcher.add_handler(start_handler) dispatcher.add_handler(help_handler) dispatcher.add_handler(settings_handler) dispatcher.add_handler(help_callback_handler) dispatcher.add_handler(settings_callback_handler) dispatcher.add_handler(migrate_handler) dispatcher.add_handler(donate_handler) dispatcher.add_handler(M_CONNECT_BTN_HANDLER) dispatcher.add_handler(M_SETLANG_BTN_HANDLER) # dispatcher.add_error_handler(error_callback) # add antiflood processor Dispatcher.process_update = process_update if WEBHOOK: LOGGER.info("Using webhooks.") updater.start_webhook(listen="127.0.0.1", port=PORT, url_path=TOKEN) if CERT_PATH: updater.bot.set_webhook(url=URL + TOKEN, certificate=open(CERT_PATH, 'rb')) else: updater.bot.set_webhook(url=URL + TOKEN) else: LOGGER.info("Using long polling.") updater.start_polling(timeout=15, read_latency=4) updater.idle()
__mod_name__ = "Misc" ID_HANDLER = DisableAbleCommandHandler("id", get_id, pass_args=True) IP_HANDLER = CommandHandler("ip", get_bot_ip, filters=Filters.chat(OWNER_ID)) TIME_HANDLER = DisableAbleCommandHandler("time", get_time_alt, pass_args=True) RUNS_HANDLER = DisableAbleCommandHandler(["runs", "lari"], runs) SLAP_HANDLER = DisableAbleCommandHandler("slap", slap, pass_args=True) INFO_HANDLER = DisableAbleCommandHandler("info", info, pass_args=True) ECHO_HANDLER = CommandHandler("echo", echo, filters=Filters.user(OWNER_ID)) MD_HELP_HANDLER = CommandHandler("markdownhelp", markdown_help, filters=Filters.private) STATS_HANDLER = CommandHandler("stats", stats, filters=CustomFilters.sudo_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) dispatcher.add_handler(INFO_HANDLER) dispatcher.add_handler(ECHO_HANDLER) dispatcher.add_handler(MD_HELP_HANDLER) dispatcher.add_handler(STATS_HANDLER)
if update.effective_message.reply_to_message: user = update.effective_user # type: Optional[User] chat = update.effective_chat # type: Optional[Chat] if can_delete(chat, bot.id): update.effective_message.reply_to_message.delete() update.effective_message.delete() return "<b>{}:</b>" \ "\n#DEL" \ "\n<b>Admin:</b> {}" \ "\nMessage deleted.".format(html.escape(chat.title), mention_html(user.id, user.first_name)) else: send_message(update.effective_message, tl(update.effective_message, "Apa yang ingin di hapus?")) return "" __help__ = "msgdel_help" __mod_name__ = "Purges" DELETE_HANDLER = CommandHandler("del", del_message, filters=Filters.group) PURGE_HANDLER = CommandHandler("purge", purge, filters=Filters.group, pass_args=True) dispatcher.add_handler(DELETE_HANDLER) dispatcher.add_handler(PURGE_HANDLER)
def __stats__(): return tl(OWNER_ID, "{} pemicu daftar hitam stiker, di seluruh {} obrolan.").format( sql.num_stickers_filters(), sql.num_stickers_filter_chats()) __help__ = "blstickers_help" __mod_name__ = "Sticker Blacklist" BLACKLIST_STICKER_HANDLER = DisableAbleCommandHandler("blsticker", blackliststicker, pass_args=True, admin_ok=True) ADDBLACKLIST_STICKER_HANDLER = DisableAbleCommandHandler( "addblsticker", add_blackliststicker) UNBLACKLIST_STICKER_HANDLER = CommandHandler(["unblsticker", "rmblsticker"], unblackliststicker) BLACKLISTMODE_HANDLER = CommandHandler("blstickermode", blacklist_mode, pass_args=True) BLACKLIST_STICKER_DEL_HANDLER = MessageHandler(Filters.sticker & Filters.group, del_blackliststicker) dispatcher.add_handler(BLACKLIST_STICKER_HANDLER) dispatcher.add_handler(ADDBLACKLIST_STICKER_HANDLER) dispatcher.add_handler(UNBLACKLIST_STICKER_HANDLER) dispatcher.add_handler(BLACKLISTMODE_HANDLER) dispatcher.add_handler(BLACKLIST_STICKER_DEL_HANDLER)
def __migrate__(old_chat_id, new_chat_id): sql.migrate_chat(old_chat_id, new_chat_id) def __chat_settings__(chat_id, user_id): return tl(user_id, "Obrolan ini memiliki aturan yang ditetapkan: `{}`").format( bool(sql.get_rules(chat_id))) __help__ = "rules_help" __mod_name__ = "Rules" 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) PRIVATERULES_HANDLER = CommandHandler("privaterules", private_rules, pass_args=True) dispatcher.add_handler(GET_RULES_HANDLER) dispatcher.add_handler(SET_RULES_HANDLER) dispatcher.add_handler(RESET_RULES_HANDLER) dispatcher.add_handler(PRIVATERULES_HANDLER)
filters = data.get('filters', {}) for trigger in filters: sql.add_to_blacklist(chat_id, trigger) def __migrate__(old_chat_id, new_chat_id): sql.migrate_chat(old_chat_id, new_chat_id) def __chat_settings__(chat_id, user_id): cust_filters = sql.get_chat_triggers(chat_id) return tl(user_id, "Ada `{}` filter khusus di sini.").format(len(cust_filters)) __help__ = "filters_help" __mod_name__ = "Filters" FILTER_HANDLER = CommandHandler("filter", filters) STOP_HANDLER = CommandHandler("stop", stop_filter) 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(LIST_HANDLER) dispatcher.add_handler(CUST_FILTER_HANDLER, HANDLER_GROUP)
def __migrate__(old_chat_id, new_chat_id): sql.migrate_chat(old_chat_id, new_chat_id) def __chat_settings__(chat_id, user_id): return tl(user_id, "Obrolan ini disetel untuk mengirim laporan pengguna ke admin, melalui /report dan @admin: `{}`").format( sql.chat_should_report(chat_id)) def __user_settings__(user_id): return tl(user_id, "Anda menerima laporan dari obrolan yang Anda ikuti: `{}`.\nAktifkan ini dengan /reports di PM.").format( sql.user_should_report(user_id)) __mod_name__ = "Reporting" __help__ = "reporting_help" 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) Callback_Report = CallbackQueryHandler(button, pattern=r"rp_") Callback_ReportAsk = CallbackQueryHandler(buttonask, pattern=r"ak_") dispatcher.add_handler(REPORT_HANDLER, REPORT_GROUP) dispatcher.add_handler(ADMIN_REPORT_HANDLER, REPORT_GROUP) dispatcher.add_handler(SETTING_HANDLER) dispatcher.add_handler(Callback_Report) dispatcher.add_handler(Callback_ReportAsk)
def __migrate__(old_chat_id, new_chat_id): sql.migrate_chat(old_chat_id, new_chat_id) def __chat_settings__(chat_id, user_id): log_channel = sql.get_chat_log_channel(chat_id) if log_channel: log_channel_info = dispatcher.bot.get_chat(log_channel) return tl(user_id, "Grup ini memiliki semua log yang dikirim ke: {} (`{}`)").format(escape_markdown(log_channel_info.title), log_channel) return tl(user_id, "Tidak ada saluran masuk yang ditetapkan untuk grup ini!") __help__ = "logchannel_help" __mod_name__ = "Channel Log" 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) else: # run anyway if module not loaded def loggable(func): return func
text = tl(update.effective_message, "Penghapus pesan biru telah di *aktifkan*.") send_message(update.effective_message, text, parse_mode="markdown") else: send_message( update.effective_message, tl(update.effective_message, "Argumen tidak dikenal - harap gunakan 'yes', atau 'no'.")) else: send_message( update.effective_message, tl(update.effective_message, "Pengaturan untuk penghapus pesan biru saat ini di {}: *{}*"). format(chat_name, "Enabled" if sql.is_enable(chat_id) else "Disabled"), parse_mode="markdown") __help__ = "cleaner_help" __mod_name__ = "Cleaner" SET_CLEAN_BLUE_TEXT_HANDLER = DisableAbleCommandHandler( "cleanbluetext", set_blue_text_must_click, pass_args=True) CLEAN_BLUE_TEXT_HANDLER = MessageHandler(Filters.command & Filters.group, clean_blue_text_must_click) dispatcher.add_handler(SET_CLEAN_BLUE_TEXT_HANDLER) dispatcher.add_handler(CLEAN_BLUE_TEXT_HANDLER, 15)