`/save notename` while replying to a sticker or whatever data you'd like. Now, the note at "#notename" contains a sticker which will be sent as a reply. Tip: to retrieve a note without the formatting, use /get <notename> noformat This will retrieve the note and send it without formatting it; getting you the raw markdown, allowing you to make easy edits. """ __mod_name__ = "Notes" GET_HANDLER = CommandHandler("get", cmd_get, pass_args=True) HASH_GET_HANDLER = MessageHandler(Filters.regex(r"^#[^\s]+"), hash_get) SAVE_HANDLER = CommandHandler("save", save) DELETE_HANDLER = CommandHandler("clear", clear, pass_args=True) LIST_HANDLER = DisableAbleCommandHandler(["notes", "saved"], list_notes, admin_ok=True) CLEARALLNOTES_HANDLER = CommandHandler("rmallnotes", clear_notes, filters=Filters.chat_type.groups) RMBTN_HANDLER = CallbackQueryHandler(rmbutton, pattern=r"rmnotes_") 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(CLEARALLNOTES_HANDLER) dispatcher.add_handler(RMBTN_HANDLER)
return str(round(tF)) reply = f"*Current weather for {cityname}, {country_name} is*:\n\n*Temperature:* `{celsius(curtemp)}°C ({fahr(curtemp)}ºF), feels like {celsius(feels_like)}°C ({fahr(feels_like)}ºF) \n`*Condition:* `{condmain}, {conddet}` {icon}\n*Humidity:* `{humidity}%`\n*Wind:* `{kmph[0]} km/h`\n" del_msg = update.effective_message.reply_text( "{}".format(reply), parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True) time.sleep(30) try: del_msg.delete() update.effective_message.delete() except BadRequest as err: if (err.message == "Message to delete not found") or ( err.message == "Message can't be deleted"): return __help__ = """ Weather module: × /weather <city>: Gets weather information of particular place! \* To prevent spams weather command and the output will be deleted after 30 seconds """ __mod_name__ = "Weather" WEATHER_HANDLER = DisableAbleCommandHandler("weather", weather, pass_args=True) dispatcher.add_handler(WEATHER_HANDLER)
BAN_HANDLER = CommandHandler("ban", ban, pass_args=True, filters=Filters.chat_type.groups) TEMPBAN_HANDLER = CommandHandler(["tban", "tempban"], temp_ban, pass_args=True, filters=Filters.chat_type.groups) KICK_HANDLER = CommandHandler("kick", kick, pass_args=True, filters=Filters.chat_type.groups) UNBAN_HANDLER = CommandHandler("unban", unban, pass_args=True, filters=Filters.chat_type.groups) KICKME_HANDLER = DisableAbleCommandHandler("kickme", kickme, filters=Filters.chat_type.groups) BANME_HANDLER = DisableAbleCommandHandler("banme", banme, filters=Filters.chat_type.groups) 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)
title = gresults["titles"][i].replace("\n", " ") link = gresults["links"][i] desc = gresults["descriptions"][i] output += f"[{title}]({link})\n" output += f"`{desc}`\n\n" except (IndexError, KeyError): break output = f"*Google Search:*\n`{query}`\n\n*Results:*\n{output}" message.reply_text(output, parse_mode="Markdown") __help__ = """ Searching, Reversing image. It's Google Stuff!!! ├Ч /google <query> : Search anything to google. ├Ч /app <query>: search an Application on Play Store ├Ч /reverse : Reverse searches image or stickers on google. """ __mod_name__ = "Google" REVERSE_HANDLER = DisableAbleCommandHandler( "reverse", reverse, pass_args=True, admin_ok=True ) APP_HANDLER = DisableAbleCommandHandler("app", app) GOOGLE_HANDLER = DisableAbleCommandHandler("google", google) dispatcher.add_handler(REVERSE_HANDLER) dispatcher.add_handler(APP_HANDLER) dispatcher.add_handler(GOOGLE_HANDLER)
fst_name, user.reason) update.effective_message.reply_text(res, parse_mode="html") def __gdpr__(user_id): sql.rm_afk(user_id) __help__ = """ When marked as AFK, any mentions will be replied to with a message to say you're not available! × /afk <reason>: Mark yourself as AFK. × brb <reason>: Same as the afk command - but not a command. """ AFK_HANDLER = DisableAbleCommandHandler("afk", afk) AFK_REGEX_HANDLER = DisableAbleMessageHandler(Filters.regex("(?i)brb"), afk, friendly="afk") NO_AFK_HANDLER = MessageHandler(Filters.all & Filters.chat_type.groups, no_longer_afk) AFK_REPLY_HANDLER = MessageHandler( Filters.all & Filters.chat_type.groups & ~Filters.update.edited_message, 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) __mod_name__ = "AFK"
elif flag == "-s": stkr = "sticker.webp" x = open(stkr, "wb") x.write(requests.get(img).content) message.reply_sticker(sticker=open(stkr, "rb")) os.remove("sticker.webp") elif flag == "-v": message.reply_video(video=img, parse_mode=ParseMode.MARKDOWN) else: message.reply_text("Put flags correctly!!!") except Exception as excp: message.reply_text(f"Failed to find image. Error: {excp}") __help__ = """ × /neko <flags> <query>: Get random images from [Nekos API](nekos.life) *Available flags:* -i = send as image -d = send as document(full resolution) -s = send as sticker -v = send as video(only for some query) *Available query:* Check this : [List Query](https://telegra.ph/List-Query-of-Nekos-01-19) """ __mod_name__ = "Nekos" NEKO_HANDLER = DisableAbleCommandHandler("neko", neko) dispatcher.add_handler(NEKO_HANDLER)
prev_end = 0 for change in changes: start = change.get("From") end = change.get("To") + 1 suggestions = change.get("Suggestions") if suggestions: # should look at this list more sugg_str = suggestions[0].get("Text") curr_string += msg.text[prev_end:start] + sugg_str prev_end = end curr_string += msg.text[prev_end:] update.effective_message.reply_text(curr_string) else: update.effective_message.reply_text( "Reply to some message to get grammar corrected text!") __help__ = """ × /tr or /tl: - To translate to your language, by default language is set to english, use `/tr <lang code>` for some other language! × /splcheck: - As a reply to get grammar corrected text of gibberish message. × /tts: - To some message to convert it into audio format! """ __mod_name__ = "Translate" dispatcher.add_handler( DisableAbleCommandHandler(["tr", "tl"], gtrans, pass_args=True)) dispatcher.add_handler(DisableAbleCommandHandler("tts", gtts, pass_args=True)) dispatcher.add_handler(DisableAbleCommandHandler("splcheck", spellcheck))
filters=Filters.chat_type.groups) SETDESC_HANDLER = CommandHandler("setdescription", set_desc, filters=Filters.chat_type.groups) PROMOTE_HANDLER = CommandHandler("promote", promote, pass_args=True, filters=Filters.chat_type.groups) DEMOTE_HANDLER = CommandHandler("demote", demote, pass_args=True, filters=Filters.chat_type.groups) SET_TITLE_HANDLER = DisableAbleCommandHandler("settitle", set_title, pass_args=True) ADMINLIST_HANDLER = DisableAbleCommandHandler("adminlist", adminlist, filters=Filters.chat_type.groups) 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(SET_TITLE_HANDLER) dispatcher.add_handler(CHAT_PIC_HANDLER) dispatcher.add_handler(DEL_CHAT_PIC_HANDLER) dispatcher.add_handler(SETCHAT_TITLE_HANDLER)
warn_user, pass_args=True, filters=Filters.chat_type.groups) RESET_WARN_HANDLER = CommandHandler( ["resetwarn", "resetwarns"], reset_warns, pass_args=True, filters=Filters.chat_type.groups, ) REMOVE_WARNS_HANDLER = CommandHandler(["rmwarn", "unwarn"], remove_warns, pass_args=True, filters=Filters.chat_type.groups) CALLBACK_QUERY_HANDLER = CallbackQueryHandler(button, pattern=r"rm_warn") MYWARNS_HANDLER = DisableAbleCommandHandler("warns", warns, pass_args=True, filters=Filters.chat_type.groups) ADD_WARN_HANDLER = CommandHandler("addwarn", add_warn_filter, filters=Filters.chat_type.groups) RM_WARN_HANDLER = CommandHandler(["nowarn", "stopwarn"], remove_warn_filter, filters=Filters.chat_type.groups) LIST_WARN_HANDLER = DisableAbleCommandHandler( ["warnlist", "warnfilters"], list_warn_filters, filters=Filters.chat_type.groups, admin_ok=True, ) WARN_FILTER_HANDLER = MessageHandler( CustomFilters.has_text & Filters.chat_type.groups, reply_filter)
An "odds and ends" module for small, simple commands which don't really fit anywhere × /id: Get the current group id. If used by replying to a message, gets that user's id. × /info: Get information about a user. × /wiki : Search wikipedia articles. × /rmeme: Sends random meme scraped from reddit. × /ud <query> : Search stuffs in urban dictionary. × /wall <query> : Get random wallpapers directly from bot! × /gdpr: Deletes your information from the bot's database. Private chats only. × /imdb <movie>: search movie info and other stuff × /markdownhelp: Quick summary of how markdown works in telegram - can only be called in private chats. """ __mod_name__ = "Miscs" ID_HANDLER = DisableAbleCommandHandler("id", get_id, pass_args=True) INFO_HANDLER = DisableAbleCommandHandler("info", info, pass_args=True) ECHO_HANDLER = CommandHandler("echo", echo, filters=CustomFilters.sudo_filter) MD_HELP_HANDLER = CommandHandler("markdownhelp", markdown_help, filters=Filters.private) STATS_HANDLER = CommandHandler("stats", stats, filters=Filters.user(OWNER_ID)) GDPR_HANDLER = CommandHandler("gdpr", gdpr, filters=Filters.private) WIKI_HANDLER = DisableAbleCommandHandler("wiki", wiki) WALLPAPER_HANDLER = DisableAbleCommandHandler("wall", wall, pass_args=True) IMDB_HANDLER = DisableAbleCommandHandler("imdb", imdb, pass_args=True) UD_HANDLER = DisableAbleCommandHandler("ud", ud) GETLINK_HANDLER = CommandHandler("getlink", getlink, pass_args=True, filters=Filters.user(OWNER_ID))
__help__ = """ Stylish your text! × /weebify <text>: weebify your text! × /bubble <text>: bubble your text! × /fbubble <text>: bubble-filled your text! × /square <text>: square your text! × /fsquare <text>: square-filled your text! × /blue <text>: bluify your text! × /latin <text>: latinify your text! × /lined <text>: lined your text! """ __mod_name__ = "StyleText" WEEBIFY_HANDLER = DisableAbleCommandHandler("weebify", weebify) BUBBLE_HANDLER = DisableAbleCommandHandler("bubble", bubble) FBUBBLE_HANDLER = DisableAbleCommandHandler("fbubble", fbubble) SQUARE_HANDLER = DisableAbleCommandHandler("square", square) FSQUARE_HANDLER = DisableAbleCommandHandler("fsquare", fsquare) BLUE_HANDLER = DisableAbleCommandHandler("blue", blue) LATIN_HANDLER = DisableAbleCommandHandler("latin", latin) LINED_HANDLER = DisableAbleCommandHandler("lined", lined) dispatcher.add_handler(WEEBIFY_HANDLER) dispatcher.add_handler(BUBBLE_HANDLER) dispatcher.add_handler(FBUBBLE_HANDLER) dispatcher.add_handler(SQUARE_HANDLER) dispatcher.add_handler(FSQUARE_HANDLER) dispatcher.add_handler(BLUE_HANDLER) dispatcher.add_handler(LATIN_HANDLER)
return float_date = float(json_date) / 1000.0 date = datetime.datetime.fromtimestamp(float_date).strftime("%d %b %Y %I:%M:%S %p") try: flag = case["countryInfo"]["flag"] except KeyError: flag = [] if flag: text = f"*COVID-19 Statistics in* [{query}]({flag})\n" else: text = f"*COVID-19 Statistics in {country} :*\n" text += f"Last Updated on `{date} GMT`\n\n🔼 Confirmed Cases : `{dot(case['cases'])}` | `+{dot(case['todayCases'])}`\n🔺 Active Cases : `{dot(case['active'])}`\n⚰️ Deaths : `{dot(case['deaths'])}` | `+{dot(case['todayDeaths'])}`\n💹 Recovered Cases: `{dot(case['recovered'])}` | `+{dot(case['todayRecovered'])}`\n💉 Total Tests : `{dot(case['tests'])}`\n👥 Populations : `{dot(case['population'])}`\n🌐 Source : worldometers" try: message.reply_text(text, parse_mode=ParseMode.MARKDOWN) except Exception: message.reply_text("Try again in few times, maybe API are go down") __help__ = """ 2020 are disaster year :( and now, 2021 are 2020 Season II × /covid <country>: Get information about COVID-19 Country Stats × /covid : Get information about COVID-19 World Stats """ __mod_name__ = "Covid" COVID_HANDLER = DisableAbleCommandHandler("covid", covid) dispatcher.add_handler(COVID_HANDLER)
__help__ = """ Blacklists are used to stop certain triggers from being said in a group. Any time the trigger is mentioned, the message will immediately be deleted. A good combo is sometimes to pair this up with warn filters! *NOTE*: Blacklists do not affect group admins. × /blacklist: View the current blacklisted words. Admin only: × /addblacklist <triggers>: Add a trigger to the blacklist. Each line is considered one trigger, so using different lines will allow you to add multiple triggers. × /unblacklist <triggers>: Remove triggers from the blacklist. Same newline logic applies here, so you can remove multiple triggers at once. × /rmblacklist <triggers>: Same as above. × /blacklistmode <off/del/warn/ban/kick/mute/tban/tmute>: Action to perform when someone sends blacklisted words. """ 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.chat_type.groups, del_blacklist, ) dispatcher.add_handler(BLACKLIST_HANDLER) dispatcher.add_handler(ADD_BLACKLIST_HANDLER)
InlineKeyboardButton(text="View Link", url=f"https://nekobin.com/{link}"), InlineKeyboardButton( text="View Raw", url=f"https://nekobin.com/raw/{link}", ), ]] msg.reply_text( text, reply_markup=InlineKeyboardMarkup(buttons), parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True, ) os.remove("file.txt") except Exception as excp: msg.reply_text(f"Failed. Error: {excp}") return __help__ = """ Copy Paste your Text on Nekobin × /paste: Saves replied content to nekobin.com and replies with a url """ __mod_name__ = "Paste" PASTE_HANDLER = DisableAbleCommandHandler("paste", paste) dispatcher.add_handler(PASTE_HANDLER)
× /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, locking stickers will restrict all \ non-admin users from sending stickers, etc. Locking bots will stop non-admins from adding bots to the chat. Note: × Unlocking permission *info* will allow members (non-admins) to change the group information, such as the description or the group name × Unlocking permission *pin* will allow members (non-admins) to pinned a message in a group """ __mod_name__ = "Locks" LOCKTYPES_HANDLER = DisableAbleCommandHandler("locktypes", locktypes) # , filters=Filters.chat_type.groups) LOCK_HANDLER = CommandHandler("lock", lock, pass_args=True) UNLOCK_HANDLER = CommandHandler( "unlock", unlock, pass_args=True) # , filters=Filters.chat_type.groups) # , filters=Filters.chat_type.groups) LOCKED_HANDLER = CommandHandler("locks", list_locks) 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.chat_type.groups, del_lockables), PERM_GROUP)
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. *Chat creator only:* × /rmallfilter: Stop all chat filters at once. *Note*: Filters also support markdown formatters like: {first}, {last} etc.. and buttons. Check `/markdownhelp` to know more! """ __mod_name__ = "Filters" FILTER_HANDLER = CommandHandler("filter", filters) STOP_HANDLER = CommandHandler("stop", stop_filter) RMALLFILTER_HANDLER = CommandHandler("rmallfilter", rmall_filters, filters=Filters.chat_type.groups) LIST_HANDLER = DisableAbleCommandHandler("filters", list_handlers, admin_ok=True) CUST_FILTER_HANDLER = MessageHandler( CustomFilters.has_text & ~Filters.update.edited_message, 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) dispatcher.add_handler(RMALLFILTER_HANDLER)
parse_mode=ParseMode.HTML, ) else: update.effective_message.reply_text( "Hello " + f"{mention_html(msg.from_user.id, msg.from_user.first_name)}" + ", Please reply to sticker message to get id sticker", parse_mode=ParseMode.HTML, ) __help__ = """ Kanging Stickers made easy with stickers module! × /stickerid: Reply to a sticker to me to tell you its file ID. × /getsticker: Reply to a sticker to me to upload its raw PNG file. × /kang: Reply to a sticker to add it to your pack. """ __mod_name__ = "Stickers" KANG_HANDLER = DisableAbleCommandHandler("kang", kang, pass_args=True, admin_ok=True) STICKERID_HANDLER = DisableAbleCommandHandler("stickerid", stickerid) GETSTICKER_HANDLER = DisableAbleCommandHandler("getsticker", getsticker) dispatcher.add_handler(KANG_HANDLER) dispatcher.add_handler(STICKERID_HANDLER) dispatcher.add_handler(GETSTICKER_HANDLER)
× `/kayo <anime>`*:* search an anime on animekayo.com × `/airing <anime>`*:* returns anime airing info. × `/whatanime` *:* find what anime is from by replying a media *Only for* 🇮🇩 × `/kuso <anime>`*:* Cari anime di kusonime.com × `/drive <anime>`*:* Cari anime di drivenime.com × `/oploverz <anime>`*:* Cari anime di oploverz.in × `/neo <anime>`*:* Cari anime di neonime.vip × `/same <anime>`*:* Cari anime di samehadaku.vip × `/otaku <anime>`*:* Cari anime di otakudesu.tv """ __mod_name__ = "Anime" ANIME_HANDLER = DisableAbleCommandHandler("anime", anime) AIRING_HANDLER = DisableAbleCommandHandler("airing", airing) CHARACTER_HANDLER = DisableAbleCommandHandler("character", character) MANGA_HANDLER = DisableAbleCommandHandler("manga", manga) MAL_HANDLER = DisableAbleCommandHandler("mal", mal) ANILIST_HANDLER = DisableAbleCommandHandler("anilist", anilist) UPCOMING_HANDLER = DisableAbleCommandHandler("upcoming", upcoming) KAIZOKU_SEARCH_HANDLER = DisableAbleCommandHandler("kaizoku", kaizoku) KAYO_SEARCH_HANDLER = DisableAbleCommandHandler("kayo", kayo) KUSO_SEARCH_HANDLER = DisableAbleCommandHandler("kuso", kuso) DRIVE_SEARCH_HANDLER = DisableAbleCommandHandler("drive", drive) OPLOVERZ_SEARCH_HANDLER = DisableAbleCommandHandler("oploverz", oploverz) NEO_SEARCH_HANDLER = DisableAbleCommandHandler("neo", neo) SAME_SEARCH_HANDLER = DisableAbleCommandHandler("same", same) OTAKU_SEARCH_HANDLER = DisableAbleCommandHandler("otaku", otaku)
promoting your profile. All bios are displayed on /info command. × /setbio <text>: While replying, will save another user's bio × /bio: Will get your or another user's bio. This cannot be set by yourself. × /setme <text>: Will set your info × /me: Will get your or another user's info An example of setting a bio for yourself: `/setme I work for Telegram`; Bio is set to yourself. An example of writing someone else' bio: Reply to user's message: `/setbio He is such cool person`. *Notice:* Do not use /setbio against yourself! """ __mod_name__ = "Bios/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)
dl_file = download.text size = trs[i].find("span", {"class": "filesize"}).text reply += f"[{dl_file}]({dl_link}) - {size}\n" update.message.reply_text( "{}".format(reply), parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True, ) __help__ = """ Get Latest magisk relese, Twrp for your device or info about some device using its codename, Directly from Bot! *Android related commands:* × /magisk - Gets the latest magisk release for Stable/Beta/Canary. × /device <codename> - Gets android device basic info from its codename. × /twrp <codename> - Gets latest twrp for the android device using the codename. """ __mod_name__ = "Android" MAGISK_HANDLER = DisableAbleCommandHandler("magisk", magisk) DEVICE_HANDLER = DisableAbleCommandHandler("device", device, pass_args=True) TWRP_HANDLER = DisableAbleCommandHandler("twrp", twrp, pass_args=True) dispatcher.add_handler(MAGISK_HANDLER) dispatcher.add_handler(DEVICE_HANDLER) dispatcher.add_handler(TWRP_HANDLER)
caption="Message length exceeded max limit! Sending as a text file.", ) else: msg.reply_text(reply) __help__ = """ Like name this module, you can search anything about music × /music <flag> <query> <quality> : Download music [more info](https://telegra.ph/Music-Downloader-Info-01-20) × /lyrics <query>: search lyrics can be song name or artist name *Last.FM* × /setuser <username>: sets your last.fm username. × /clearuser: removes your last.fm username from the bot's database. × /lastfm: returns what you're scrobbling on last.fm. """ __mod_name__ = "Music" SET_USER_HANDLER = CommandHandler("setuser", set_user, pass_args=True) CLEAR_USER_HANDLER = CommandHandler("clearuser", clear_user) MUSIC_HANDLER = DisableAbleCommandHandler("music", music, pass_args=True) LASTFM_HANDLER = DisableAbleCommandHandler("lastfm", last_fm) LYRICS_HANDLER = DisableAbleCommandHandler("lyrics", lyrics, pass_args=True) dispatcher.add_handler(SET_USER_HANDLER) dispatcher.add_handler(CLEAR_USER_HANDLER) dispatcher.add_handler(MUSIC_HANDLER) dispatcher.add_handler(LASTFM_HANDLER) dispatcher.add_handler(LYRICS_HANDLER)
*Regex based memes:* `/decide` can be also used with regex like: `priscia? <question>: randomly answer "Yes, No" etc.` Some other regex filters are: `me too` | `goodmorning` | `goodnight`. Priscia will reply random strings accordingly when these words are used! All regex filters can be disabled incase u don't want... like: `/disable metoo`. """ __mod_name__ = "Memes" SHRUG_HANDLER = DisableAbleCommandHandler("shrug", shrug) DECIDE_HANDLER = DisableAbleMessageHandler(Filters.regex(r"(?i)^priscia\?"), decide, friendly="decide") SNIPE_HANDLER = CommandHandler("snipe", snipe, pass_args=True, filters=CustomFilters.sudo_filter) ABUSE_HANDLER = DisableAbleCommandHandler("abuse", abuse) RUNS_HANDLER = DisableAbleCommandHandler("runs", runs) SLAP_HANDLER = DisableAbleCommandHandler("slap", slap, pass_args=True) PUNCH_HANDLER = DisableAbleCommandHandler("punch", punch, pass_args=True) HUG_HANDLER = DisableAbleCommandHandler("warm", hug, pass_args=True) GBUN_HANDLER = CommandHandler("gbun", gbun) TABLE_HANDLER = DisableAbleCommandHandler("table", table) CRI_HANDLER = DisableAbleCommandHandler("cri", cri)