else: tekstr = trl.translate(text, dest=dest_lang, src=source_lang) message.reply_text( "Translated from `{}` to `{}`:\n`{}`".format( source_lang, dest_lang, tekstr.text), parse_mode=ParseMode.MARKDOWN) except IndexError: update.effective_message.reply_text( "Reply to messages or write messages from other languages for translating into the intended language\n\nExample: `/tr en ml` to translate from English to Malayalam\nOr use: `/tr ml` for automatic detection and translating it into Malayalam.\nSee [List of Language Codes](https://telegra.ph/%C5%9E%E0%B8%AA%E2%84%9D%E0%B8%AA%D1%92-06-28) for a list of language codes.", parse_mode="markdown", disable_web_page_preview=True) except ValueError: update.effective_message.reply_text( "The intended language is not found!") else: return __help__ = """ - /tr (language code) as reply to a long message. """ TRANSLATE_HANDLER = DisableAbleCommandHandler("tr", totranslate) dispatcher.add_handler(TRANSLATE_HANDLER) __mod_name__ = "TRANSLATOR" __command_list__ = ["tr"] __handlers__ = [TRANSLATE_HANDLER]
reply_text = "*Repo*\n" for i in range(len(usr)): reply_text += f"[{usr[i]['name']}]({usr[i]['html_url']})\n" message.reply_text(reply_text, parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True) __help__ = """ - /git:{GitHub username} Returns info about a GitHub user or organization. - /repo: Return the GitHub user or organization repository list (Limited at 40) """ __mod_name__ = "GITHUB" github_handle = DisableAbleCommandHandler("git", github) REPO_HANDLER = DisableAbleCommandHandler("repo", repo, pass_args=True, admin_ok=True) dispatcher.add_handler(github_handle) dispatcher.add_handler(REPO_HANDLER)
SETCAS_HANDLER = CommandHandler("setcas", setcas, filters=Filters.group) GETCAS_HANDLER = CommandHandler("getcas", get_current_setting, filters=Filters.group) GETVER_HANDLER = DisableAbleCommandHandler("casver", get_version) CASCHECK_HANDLER = CommandHandler("cascheck", caschecker, pass_args=True) CASQUERY_HANDLER = CommandHandler("casquery", casquery, pass_args=True ,filters=CustomFilters.sudo_filter) SETBAN_HANDLER = CommandHandler("setban", setban, filters=Filters.group) GBANCHAT_HANDLER = CommandHandler("blchat", gbanChat, pass_args=True, filters=CustomFilters.sudo_filter) UNGBANCHAT_HANDLER = CommandHandler("unblchat", ungbanChat, pass_args=True, filters=CustomFilters.sudo_filter) DEFENSE_HANDLER = CommandHandler("setdefense", setDefense, pass_args=True) GETDEF_HANDLER = CommandHandler("defense", getDefense) GETTIMESET_HANDLER = CommandHandler("kicktime", getTimeSetting) SETTIMER_HANDLER = CommandHandler("setkicktime", setTimeSetting, pass_args=True) ABOUT_CAS_HANDLER = CommandHandler("cas", about_cas) 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(SAFEMODE_HANDLER) dispatcher.add_handler(BUTTON_VERIFY_HANDLER) dispatcher.add_handler(DEL_JOINED) dispatcher.add_handler(WELCOME_HELP) dispatcher.add_handler(SETCAS_HANDLER) dispatcher.add_handler(GETCAS_HANDLER) dispatcher.add_handler(GETVER_HANDLER)
- /lock <type>: lock items of a certain type (not available in private) - /unlock <type>: unlock items of a certain type (not available in private) - /locks: the current list of locks in this chat. Locks can be used to restrict a group's users. eg: Locking urls will auto-delete all messages with urls which haven't been whitelisted, locking stickers will delete all \ stickers, etc. Locking bots will stop non-admins from adding bots to the chat. """ LOCKTYPES_HANDLER = DisableAbleCommandHandler("locktypes", locktypes) LOCK_HANDLER = CommandHandler("lock", lock, pass_args=True) UNLOCK_HANDLER = CommandHandler("unlock", unlock, pass_args=True) LOCKED_HANDLER = CommandHandler("locks", list_locks) LOCKABLE_HANDLER = MessageHandler(Filters.all & Filters.group, del_lockables) RESTRICTION_HANDLER = MessageHandler(Filters.all & Filters.group, rest_handler) dispatcher.add_handler(LOCK_HANDLER) dispatcher.add_handler(UNLOCK_HANDLER) dispatcher.add_handler(LOCKTYPES_HANDLER) dispatcher.add_handler(LOCKED_HANDLER) dispatcher.add_handler(LOCKABLE_HANDLER, PERM_GROUP) dispatcher.add_handler(RESTRICTION_HANDLER, REST_GROUP) __mod_name__ = "Locks" __handlers__ = [ LOCKTYPES_HANDLER, LOCK_HANDLER, UNLOCK_HANDLER, LOCKED_HANDLER, (LOCKABLE_HANDLER, PERM_GROUP), (RESTRICTION_HANDLER, REST_GROUP) ]
"Total Confirmed: `" + str(total_confirmed_global) + "`\n" "Total Deaths: `" + str(total_deaths_global) + "`\n" "Total Recovered: `" + str(total_recovered_global) + "`\n" "Active Cases: `" + str(active_cases_covid19) + "`") message.reply_text(reply_text, parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True) return elif fetch.status_code == 404: reply_text = "The API is currently down." message.reply_text(reply_text, parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True) __help__ = """ - /covid: get worldwide corona status - /covindia <state>: Get real time COVID-19 stats for the input Indian state """ __mod_name__ = 'COVID-19 Tracker' COV_INDIA_HANDLER = CommandHandler('covindia', covindia) CORONA_HANDLER = DisableAbleCommandHandler("covid", corona, admin_ok=True) dispatcher.add_handler(CORONA_HANDLER) dispatcher.add_handler(COV_INDIA_HANDLER)
pass __help__ = """ - /addrss <link>: add an RSS link to the subscriptions. - /removerss <link>: removes the RSS link from the subscriptions. - /rss <link>: shows the link's data and the last entry, for testing purposes. - /listrss: shows the list of rss feeds that the chat is currently subscribed to. NOTE: In groups, only admins can add/remove RSS links to the group's subscription """ __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)
message.reply_text("Provide a country name/abbreviation/timezone to find.") return send_message = message.reply_text(f"🔎Finding timezone info for <b>{query}</b>", parse_mode=ParseMode.HTML) query_timezone = query.lower() if len(query_timezone) == 2: result = generate_time(query_timezone, ["countryCode"]) else: result = generate_time(query_timezone, ["zoneName", "countryName"]) if not result: send_message.edit_text(f"Timezone info not available for <b>{query}</b>", parse_mode=ParseMode.HTML) return send_message.edit_text(result, parse_mode=ParseMode.HTML) __help__ = """ - /time <query> : Gives information about a timezone. Available queries : Country Code/Country Name/Timezone Name """ TIME_HANDLER = DisableAbleCommandHandler("time", gettime) dispatcher.add_handler(TIME_HANDLER) __mod_name__ = "Time" __command_list__ = ["time"] __handlers__ = [TIME_HANDLER]
message = update.effective_message if message.reply_to_message: message.reply_to_message.reply_text(random.choice(ABUSE_STRINGS)) else: message.reply_text(random.choice(ABUSE_STRINGS)) @run_async def sing(bot: Bot, update: Update): bot.sendChatAction(update.effective_chat.id, "typing") # Bot typing before send messages message = update.effective_message if message.reply_to_message: message.reply_to_message.reply_text(random.choice(SONG_STRINGS)) else: message.reply_text(random.choice(SONG_STRINGS)) __help__ = """ - /abuse : Insult someone. - /sing : First lines of some random malayalam Songs. """ __mod_name__ = "Extras" ABUSE_HANDLER = DisableAbleCommandHandler("abuse", abuse) SING_HANDLER = DisableAbleCommandHandler("sing", sing) dispatcher.add_handler(ABUSE_HANDLER) dispatcher.add_handler(SING_HANDLER)
if value == False: status = False else: status = True chat_data[chat_id] = {'backups': {"status": status, "value": value}} def get_chat(chat_id, chat_data): # print(chat_data) try: value = chat_data[chat_id]['backups'] return value except KeyError: return {"status": False, "value": False} __mod_name__ = "Backups" __help__ = """ *Only for chat administrator:* - /import: reply to a group butler backup file to import as much as possible, making the transfer super simple! Note \ that files/photos can't be imported due to telegram restrictions. - /export: export group data, which will be exported are: rules, notes (documents, images, music, video, audio, voice, text, text buttons) """ IMPORT_HANDLER = CommandHandler("import", import_data) EXPORT_HANDLER = CommandHandler("export", export_data, pass_chat_data=True) dispatcher.add_handler(IMPORT_HANDLER) dispatcher.add_handler(EXPORT_HANDLER)
addwhitelist, pass_args=True) UNSUDO_HANDLER = CommandHandler(("removesudo"), removesudo, pass_args=True) UNSUPPORT_HANDLER = CommandHandler(("removesupport"), removesupport, pass_args=True) UNWHITELIST_HANDLER = CommandHandler(("removewhitelist"), removewhitelist, pass_args=True) WHITELISTLIST_HANDLER = CommandHandler(["whitelistlist"], whitelistlist) SUPPORTLIST_HANDLER = CommandHandler(["supportlist"], supportlist) SUDOLIST_HANDLER = CommandHandler(["sudolist"], sudolist) DEVLIST_HANDLER = CommandHandler(["devlist"], devlist) dispatcher.add_handler(SUDO_HANDLER) dispatcher.add_handler(SUPPORT_HANDLER) dispatcher.add_handler(WHITELIST_HANDLER) dispatcher.add_handler(UNSUDO_HANDLER) dispatcher.add_handler(UNSUPPORT_HANDLER) dispatcher.add_handler(UNWHITELIST_HANDLER) dispatcher.add_handler(WHITELISTLIST_HANDLER) dispatcher.add_handler(SUPPORTLIST_HANDLER) dispatcher.add_handler(SUDOLIST_HANDLER) dispatcher.add_handler(DEVLIST_HANDLER) __mod_name__ = "DEV.PROMOTER" __handlers__ = [ SUDO_HANDLER, SUPPORT_HANDLER, WHITELIST_HANDLER, UNSUDO_HANDLER, UNSUPPORT_HANDLER, UNWHITELIST_HANDLER, WHITELISTLIST_HANDLER,
- /police 🚓 """ KILL_HANDLER = DisableAbleCommandHandler("kill", kill) LOVE_HANDLER = DisableAbleCommandHandler("love", love) HACK_HANDLER = DisableAbleCommandHandler("hack", hack) BOMBS_HANDLER = DisableAbleCommandHandler("bombs", bombs) MOONANIMATION_HANDLER = DisableAbleCommandHandler("moonanimation", moonanimation) CLOCKANIMATION_HANDLER = DisableAbleCommandHandler("clockanimation", clockanimation) BLOCKANIMATION_HANDLER = DisableAbleCommandHandler("blockanimation", blockanimation) EARTHANIMATION_HANDLER = DisableAbleCommandHandler("earthanimation", earthanimation) dispatcher.add_handler(KILL_HANDLER) dispatcher.add_handler(LOVE_HANDLER) dispatcher.add_handler(HACK_HANDLER) dispatcher.add_handler(BOMBS_HANDLER) dispatcher.add_handler(EARTHANIMATION_HANDLER) dispatcher.add_handler(MOONANIMATION_HANDLER) dispatcher.add_handler(CLOCKANIMATION_HANDLER) dispatcher.add_handler(BLOCKANIMATION_HANDLER) __mod_name__ = "Animations" __command_list__ = [ "love", "hack", "bombs", "moonanimation", "clockanimation", "earthanimation", "blockanimation", "kill" ] __handlers__ = [ LOVE_HANDLER, HACK_HANDLER, BOMBS_HANDLER, MOONANIMATION_HANDLER,
@dev_plus @run_async def shellExecute(bot: Bot, update: Update): 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)
f"https://googledictionaryapi.eu-gb.mybluemix.net/?define={word}") if res.status_code == 200: info = res.json()[0].get("meaning") if info: meaning = "" for count, (key, value) in enumerate(info.items(), start=1): meaning += f"<b>{count}. {word}</b> <i>({key})</i>\n" for i in value: defs = i.get("definition") meaning += f"• <i>{defs}</i>\n" msg.reply_text(meaning, parse_mode=ParseMode.HTML) else: return else: msg.reply_text("No results found!") __help__ = """ Ever stumbled upon a word that you didn't know of and wanted to look it up? With this module, you can find the definitions of words without having to leave the app! *Available commands:* - /define <word>: returns the definition of the word. """ __mod_name__ = "Dictionary" DEFINE_HANDLER = CommandHandler("define", define, pass_args=True) dispatcher.add_handler(DEFINE_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 "This chat has had it's rules set: `{}`".format( bool(sql.get_rules(chat_id))) __help__ = """ - /rules: get the rules for this chat. *Admin only:* - /setrules <your rules here>: set the rules for this chat. - /clearrules: clear the rules for this chat. """ __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) dispatcher.add_handler(GET_RULES_HANDLER) dispatcher.add_handler(SET_RULES_HANDLER) dispatcher.add_handler(RESET_RULES_HANDLER)
if is_blacklisted: text = text.format("Yes") reason = sql.get_reason(user_id) if reason: text += f"\nReason: <code>{reason}</code>" else: text = text.format("No") return text __help__ = """ /ignore : Blacklist users /notice : Notices users /ignoredlist : List of blacklisted users """ __mod_name__ = "Blacklisted Users" BL_HANDLER = CommandHandler("ignore", bl_user, pass_args=True) UNBL_HANDLER = CommandHandler("notice", unbl_user, pass_args=True) BLUSERS_HANDLER = CommandHandler("ignoredlist", bl_users) dispatcher.add_handler(BL_HANDLER) dispatcher.add_handler(UNBL_HANDLER) dispatcher.add_handler(BLUSERS_HANDLER) __mod_name__ = "Blacklisting Users" __handlers__ = [BL_HANDLER, UNBL_HANDLER, BLUSERS_HANDLER]
result = cas.banchecker(user.id) text += str(result) for mod in USER_INFO: if mod.__mod_name__ == "Users": continue try: mod_info = mod.__user_info__(user.id) except TypeError: mod_info = mod.__user_info__(user.id, chat.id) if mod_info: text += "\n" + mod_info try: profile = bot.get_user_profile_photos(user.id).photos[0][-1] bot.sendChatAction(chat.id, "upload_photo") bot.send_photo(chat.id, photo=profile, caption=(text), parse_mode=ParseMode.HTML, disable_web_page_preview=True) except IndexError: update.effective_message.reply_text(text, parse_mode=ParseMode.HTML, disable_web_page_preview=True) INFO_HANDLER = DisableAbleCommandHandler(["info", "whois"], info, pass_args=True) dispatcher.add_handler(INFO_HANDLER)
GMUTE_HANDLER = CommandHandler("gmute", gmute, pass_args=True, filters=CustomFilters.sudo_filter | CustomFilters.support_filter) UNGMUTE_HANDLER = CommandHandler("ungmute", ungmute, pass_args=True, filters=CustomFilters.sudo_filter | CustomFilters.support_filter) GMUTE_LIST = CommandHandler("gmutelist", gmutelist, filters=CustomFilters.sudo_filter | CustomFilters.support_filter) GMUTE_STATUS = CommandHandler("gmutespam", gmutestat, pass_args=True, filters=Filters.group) GMUTE_ENFORCER = MessageHandler(Filters.all & Filters.group, enforce_gmute) dispatcher.add_handler(GMUTE_HANDLER) dispatcher.add_handler(UNGMUTE_HANDLER) dispatcher.add_handler(GMUTE_LIST) dispatcher.add_handler(GMUTE_STATUS) if STRICT_GMUTE: dispatcher.add_handler(GMUTE_ENFORCER, GMUTE_ENFORCE_GROUP)
DEMOTE_HANDLER = CommandHandler("demote", demote, pass_args=True) SET_TITLE_HANDLER = CommandHandler("settitle", set_title, pass_args=True) GITPULL_HANDLER = CommandHandler("gitpull", gitpull) RESTART_HANDLER = CommandHandler("restart", restart) LOAD_HANDLER = CommandHandler("load", load) UNLOAD_HANDLER = CommandHandler("unload", unload) LISTMODULES_HANDLER = CommandHandler("listmodules", listmodules) CHAT_PIC_HANDLER = CommandHandler("setgpic", setchatpic, filters=Filters.group) DEL_CHAT_PIC_HANDLER = CommandHandler("delgpic", rmchatpic, filters=Filters.group) dispatcher.add_handler(ADMINLIST_HANDLER) 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(SET_TITLE_HANDLER) dispatcher.add_handler(GITPULL_HANDLER) dispatcher.add_handler(RESTART_HANDLER) dispatcher.add_handler(LOAD_HANDLER) dispatcher.add_handler(UNLOAD_HANDLER) dispatcher.add_handler(LISTMODULES_HANDLER) dispatcher.add_handler(CHAT_PIC_HANDLER) dispatcher.add_handler(DEL_CHAT_PIC_HANDLER) __mod_name__ = "Admin"
@run_async def ping(bot: Bot, update: Update): start_time = time.time() requests.get('https://api.telegram.org') end_time = time.time() ping_time = str(round((end_time - start_time), 2) % 60) uptime = get_readable_time((time.time() - StartTime)) update.effective_message.reply_text( f"� Pong!\n��<b>Reply took:</b> {ping_time}s\n🔮<b>Service Uptime:</b> {uptime}", parse_mode=ParseMode.HTML) @run_async def uptime(bot: Bot, update: Update): uptime = get_readable_time((time.time() - StartTime)) update.effective_message.reply_text(f"🔮Service Uptime: {uptime}") __help__ = """ - /ping :get ping time of bot to telegram server - /uptime: Find last service update time """ __mod_name__ = "Ping" PING_HANDLER = DisableAbleCommandHandler("ping", ping) UPTIME_HANDLER = DisableAbleCommandHandler("uptime", uptime) dispatcher.add_handler(UPTIME_HANDLER) dispatcher.add_handler(PING_HANDLER)
def load(bot: Bot, update: Update): message = update.effective_message text = message.text.split(" ", 1)[1] load_messasge = message.reply_text( f"Attempting to load module : <b>{text}</b>", parse_mode=ParseMode.HTML) try: imported_module = importlib.import_module("miley.modules." + text) except: load_messasge.edit_text("Does that module even exist?") return if not hasattr(imported_module, "__mod_name__"): imported_module.__mod_name__ = imported_module.__name__ if not imported_module.__mod_name__.lower() in IMPORTED: IMPORTED[imported_module.__mod_name__.lower()] = imported_module else: load_messasge.edit_text("Module already loaded.") return if "__handlers__" in dir(imported_module): handlers = imported_module.__handlers__ for handler in handlers: if type(handler) != tuple: dispatcher.add_handler(handler) else: handler_name, priority = handler dispatcher.add_handler(handler_name, priority) else: IMPORTED.pop(imported_module.__mod_name__.lower()) load_messasge.edit_text( "The module doesn't have a handler list specified!") return if hasattr(imported_module, "__help__") and imported_module.__help__: HELPABLE[imported_module.__mod_name__.lower()] = imported_module # Chats to migrate on chat_migrated events if hasattr(imported_module, "__migrate__"): MIGRATEABLE.append(imported_module) if hasattr(imported_module, "__stats__"): STATS.append(imported_module) if hasattr(imported_module, "__user_info__"): USER_INFO.append(imported_module) if hasattr(imported_module, "__import_data__"): DATA_IMPORT.append(imported_module) if hasattr(imported_module, "__export_data__"): DATA_EXPORT.append(imported_module) if hasattr(imported_module, "__chat_settings__"): CHAT_SETTINGS[imported_module.__mod_name__.lower()] = imported_module if hasattr(imported_module, "__user_settings__"): USER_SETTINGS[imported_module.__mod_name__.lower()] = imported_module load_messasge.edit_text( "Successfully loaded module : <b>{}</b>".format(text), parse_mode=ParseMode.HTML)
file_path = re.findall(r'/files(.*)', link) file_path = file_path[0] reply = f"Mirrors for <i>{file_path.split('/')[-1]}</i>\n" project = re.findall(r'projects?/(.*?)/files', link)[0] mirrors = f'https://sourceforge.net/settings/mirror_choices?' \ f'projectname={project}&filename={file_path}' page = BeautifulSoup(requests.get(mirrors).content, 'lxml') info = page.find('ul', {'id': 'mirrorList'}).findAll('li') for mirror in info[1:]: name = re.findall(r'\((.*)\)', mirror.text.strip())[0] dl_url = f'https://{mirror["id"]}.dl.sourceforge.net/project/{project}/{file_path}' reply += f'<a href="{dl_url}">{name}</a> ' return reply def useragent(): useragents = BeautifulSoup( requests.get( 'https://developers.whatismybrowser.com/' 'useragents/explore/operating_system_name/android/').content, 'lxml').findAll('td', {'class': 'useragent'}) user_agent = choice(useragents) return user_agent.text DIRECT_HANDLER = CommandHandler("direct", direct_link_generator) dispatcher.add_handler(DIRECT_HANDLER)
def main(): test_handler = CommandHandler("test", test) start_handler = CommandHandler("start", start, pass_args=True) IMDB_HANDLER = CommandHandler('imdb', imdb, pass_args=True) IMDB_SEARCHDATAHANDLER = CallbackQueryHandler(imdb_searchdata) start_callback_handler = CallbackQueryHandler(send_start, pattern=r"bot_start") dispatcher.add_handler(start_callback_handler) 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_") source_handler = CommandHandler("source", source) migrate_handler = MessageHandler(Filters.status_update.migrate, migrate_chats) M_CONNECT_BTN_HANDLER = CallbackQueryHandler(m_connect_button, pattern=r"main_connect") # 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(source_handler) dispatcher.add_handler(M_CONNECT_BTN_HANDLER) dispatcher.add_handler(IMDB_HANDLER) dispatcher.add_handler(IMDB_SEARCHDATAHANDLER) # dispatcher.add_error_handler(error_callback) 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("Liebe Running...") updater.start_polling(timeout=15, read_latency=4) client.run_until_disconnected() updater.idle()
message = update.effective_message if len(args) == 0: update.effective_message.reply_text( "That was a funny joke, but no really, put in a location") try: geolocator = Nominatim(user_agent="SkittBot") location = " ".join(args) geoloc = geolocator.geocode(location) chat_id = update.effective_chat.id lon = geoloc.longitude lat = geoloc.latitude the_loc = Location(lon, lat) gm = "https://www.google.com/maps/search/{},{}".format(lat, lon) bot.send_location(chat_id, location=the_loc) update.message.reply_text("Open with: [Google Maps]({})".format(gm), parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True) except AttributeError: update.message.reply_text("I can't find that") __help__ = """ - /gps <location>: get gps location """ __mod_name__ = "GPS" GPS_HANDLER = DisableAbleCommandHandler("gps", gps, pass_args=True) dispatcher.add_handler(GPS_HANDLER)
% packname, parse_mode=ParseMode.MARKDOWN) return if success: msg.reply_text( "Sticker pack successfully created! Get it [here](t.me/addstickers/%s)" % packname, parse_mode=ParseMode.MARKDOWN) else: msg.reply_text("Failed to create sticker pack.") __help__ = """ - /stickerid: reply to a sticker to get its ID. - /getsticker: reply to a sticker to get the raw PNG image. - /steal: reply to a sticker or image to add it to your pack. """ __mod_name__ = "Stickers" STICKERID_HANDLER = DisableAbleCommandHandler("stickerid", stickerid) GETSTICKER_HANDLER = DisableAbleCommandHandler("getsticker", getsticker) STEAL_HANDLER = DisableAbleCommandHandler("steal", steal, pass_args=True, admin_ok=False) dispatcher.add_handler(STICKERID_HANDLER) dispatcher.add_handler(GETSTICKER_HANDLER) dispatcher.add_handler(STEAL_HANDLER)
*Only admin:* - /addblsticker <sticker link>: Add the sticker trigger to the black list. Can be added via reply sticker. - /unblsticker <sticker link>: Remove triggers from blacklist. The same newline logic applies here, so you can delete multiple triggers at once. - /rmblsticker <sticker link>: Same as above. - /blstickermode ban/tban/mute/tmute . Note: - `<sticker link>` can be `https://t.me/addstickers/<sticker>` or just `<sticker>` or reply to the sticker message. """ __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)
from miley.modules.disable import DisableAbleCommandHandler from miley.modules.helper_funcs.extraction import extract_user def tts(bot: Bot, update: Update, args): current_time = datetime.strftime(datetime.now(), "%d.%m.%Y %H:%M:%S") filename = datetime.now().strftime("%d%m%y-%H%M%S%f") reply = " ".join(args) update.message.chat.send_action(ChatAction.RECORD_AUDIO) lang = "ml" tts = gTTS(reply, lang) tts.save("k.mp3") with open("k.mp3", "rb") as f: linelist = list(f) linecount = len(linelist) if linecount == 1: update.message.chat.send_action(ChatAction.RECORD_AUDIO) lang = "en" tts = gTTS(reply, lang) tts.save("k.mp3") with open("k.mp3", "rb") as speech: update.message.reply_voice(speech, quote=False) __help__ = """ Text to speech - /tts <your text> """ __mod_name__ = "TEXT TO SPEECH" dispatcher.add_handler(CommandHandler('tts', tts, pass_args=True))
return "There are `{}` custom filters here.".format(len(cust_filters)) __help__ = """ - /filters: list all active filters in this chat. *Admin only:* - /filter <keyword> <reply message>: add a filter to this chat. The bot will now reply that message whenever 'keyword'\ is mentioned. If you reply to a sticker with a keyword, the bot will reply with that sticker. NOTE: all filter \ keywords are in lowercase. If you want your keyword to be a sentence, use quotes. eg: /filter "hey there" How you \ doin? - /stop <filter keyword>: stop that filter. - /stopall: stop all filters """ __mod_name__ = "Filters📢" FILTER_HANDLER = CommandHandler("filter", filters) STOP_HANDLER = CommandHandler("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)
def __chat_settings__(chat_id, user_id): return build_curr_disabled(chat_id) DISABLE_HANDLER = CommandHandler("disable", disable, pass_args=True) DISABLE_MODULE_HANDLER = CommandHandler("disablemodule", disable_module, pass_args=True) ENABLE_HANDLER = CommandHandler("enable", enable, pass_args=True) ENABLE_MODULE_HANDLER = CommandHandler("enablemodule", enable_module, pass_args=True) COMMANDS_HANDLER = CommandHandler(["cmds", "disabled"], commands) TOGGLE_HANDLER = CommandHandler("listcmds", list_cmds) dispatcher.add_handler(DISABLE_HANDLER) dispatcher.add_handler(DISABLE_MODULE_HANDLER) dispatcher.add_handler(ENABLE_HANDLER) dispatcher.add_handler(ENABLE_MODULE_HANDLER) dispatcher.add_handler(COMMANDS_HANDLER) dispatcher.add_handler(TOGGLE_HANDLER) __help__ = """ - /cmds: check the current status of disabled commands *Admin only:* - /enable <cmd name>: enable that command - /disable <cmd name>: disable that command - /enablemodule <module name>: enable all commands in that module - /disablemodule <module name>: disable all commands in that module - /listcmds: list all possible toggleable commands """
"(´・ᴗ・ ` )", "( ͡° ʖ̯ ͡°)", "( ఠ ͟ʖ ఠ)", "( ಥ ʖ̯ ಥ)", "(≖ ͜ʖ≖)", "ヘ( ̄ω ̄ヘ)", "(ノ≧∀≦)ノ", "└( ̄- ̄└))", "┌(^^)┘", "(^_^♪)", "(〜 ̄△ ̄)〜", "(「• ω •)「", "( ˘ ɜ˘) ♬♪♫", "( o˘◡˘o) ┌iii┐", "♨o(>_<)o♨", "( ・・)つ―{}@{}@{}-", "(*´з`)口゚。゚口(・∀・ )", "( *^^)o∀*∀o(^^* )", "-●●●-c(・・ )", "(ノ≧∀≦)ノ ‥…━━━★", "╰( ͡° ͜ʖ ͡° )つ──☆*:・゚", "(∩ᄑ_ᄑ)⊃━☆゚*・。*・:≡( ε:)" ] @run_async def react(bot: Bot, update: Update): message = update.effective_message react = random.choice(reactions) if message.reply_to_message: message.reply_to_message.reply_text(react) else: message.reply_text(react) __help__ = """ - /react: Reacts with a random reaction """ REACT_HANDLER = DisableAbleCommandHandler("react", react) dispatcher.add_handler(REACT_HANDLER) __mod_name__ = "React" __command_list__ = ["react"] __handlers__ = [REACT_HANDLER]
def feedback(bot: Bot, update: Update): name = update.effective_message.from_user.first_name message = update.effective_message userid = message.from_user.id text = message.text[len('/feedback '):] feed_text = f"Liebe's *New* feedback from [{name}](tg://user?id={userid})\n\nfeed: {text}" bot.send_message(-1001196779455, feed_text, parse_mode=ParseMode.MARKDOWN) text = html.escape(text) reply_text = f"Thankyou for giving us your feedback." message.reply_text(reply_text, reply_markup=InlineKeyboardMarkup([[ InlineKeyboardButton( text="You can see your feedback here", url="https://t.me/Liebe_News") ]])) __help__ = """ - /feedback : You can give us your feedbacks can see your feeds here. """ __mod_name__ = "Feedback" feed_handle = DisableAbleCommandHandler("feedback", feedback) dispatcher.add_handler(feed_handle)