def check_flood(update, context) -> str: user = update.effective_user # type: Optional[User] chat = update.effective_chat # type: Optional[Chat] msg = update.effective_message # type: Optional[Message] if not user: # ignore channels return "" # ignore admins and whitelists if (is_user_admin(chat, user.id) or user.id in WOLVES or user.id in TIGERS): sql.update_flood(chat.id, None) return "" should_ban = sql.update_flood(chat.id, user.id) if not should_ban: return "" try: getmode, getvalue = sql.get_flood_setting(chat.id) if getmode == 1: chat.kick_member(user.id) execstrings = ("Banlandı") tag = "BANNED" elif getmode == 2: chat.kick_member(user.id) chat.unban_member(user.id) execstrings = ("Atıldı") tag = "KICKED" elif getmode == 3: context.bot.restrict_chat_member( chat.id, user.id, permissions=ChatPermissions(can_send_messages=False)) execstrings = ("Susduruldu") tag = "MUTED" elif getmode == 4: bantime = extract_time(msg, getvalue) chat.kick_member(user.id, until_date=bantime) execstrings = ("{} müddətlik susduruldu".format(getvalue)) tag = "TBAN" elif getmode == 5: mutetime = extract_time(msg, getvalue) context.bot.restrict_chat_member( chat.id, user.id, until_date=mutetime, permissions=ChatPermissions(can_send_messages=False)) execstrings = ("{} müddətlik susduruldu".format(getvalue)) tag = "TMUTE" send_message(update.effective_message, "Beep Boop! Boop Beep!\n{}!".format(execstrings)) return "<b>{}:</b>" \ "\n#{}" \ "\n<b>User:</b> {}" \ "\nFlooded the group.".format(tag, html.escape(chat.title), mention_html(user.id, html.escape(user.first_name))) except BadRequest: msg.reply_text( "Mən burada insanları məhdudlaşdıra bilmirəm, mənə lazımi səlahiyyətləri ver!" ) sql.set_flood(chat.id, 0) return "<b>{}:</b>" \ "\n#INFO" \ "\nDon't have enough permission to restrict users so automatically disabled anti-flood".format(chat.title)
def start(update: Update, context: CallbackContext): args = context.args uptime = get_readable_time((time.time() - StartTime)) if update.effective_chat.type == "private": if len(args) >= 1: if args[0].lower() == "help": send_help(update.effective_chat.id, HELP_STRINGS) elif args[0].lower().startswith("ghelp_"): mod = args[0].lower().split('_', 1)[1] if not HELPABLE.get(mod, False): return send_help( update.effective_chat.id, HELPABLE[mod].__help__, InlineKeyboardMarkup([[ InlineKeyboardButton(text="Back", callback_data="help_back") ]])) elif args[0].lower() == "markdownhelp": IMPORTED["extras"].markdown_help_sender(update) elif args[0].lower() == "disasters": IMPORTED["disasters"].send_disasters(update) elif args[0].lower().startswith("stngs_"): match = re.match("stngs_(.*)", args[0].lower()) chat = dispatcher.bot.getChat(match.group(1)) if is_user_admin(chat, update.effective_user.id): send_settings(match.group(1), update.effective_user.id, False) else: send_settings(match.group(1), update.effective_user.id, True) elif args[0][1:].isdigit() and "rules" in IMPORTED: IMPORTED["rules"].send_rules(update, args[0], from_pm=True) else: first_name = update.effective_user.first_name update.effective_message.reply_photo( SAITAMA_IMG, PM_START_TEXT.format(escape_markdown(first_name), escape_markdown(context.bot.first_name)), parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup( [[ InlineKeyboardButton( text="🧲Add Koro Sensei to your group!", url="t.me/{}?startgroup=true".format( context.bot.username)) ], [ InlineKeyboardButton( text="⚙️ Support Group", url=f"https://t.me/{SUPPORT_CHAT}"), InlineKeyboardButton( text="🔔Updates Channel", url="https://t.me/KoroSenseiUpdate") ], [ InlineKeyboardButton( text="📖 Getting Started Guide", url="https://t.me/koroSenseiUpdate/5") ], [ InlineKeyboardButton( text="💾 Source Code.", url="https://github.com/Koro-Sensei-0/Haruki") ]])) else: update.effective_message.reply_text( "I'm online!\n<b>Up since:</b> <code>{}</code>".format(uptime), parse_mode=ParseMode.HTML)
def start(update: Update, context: CallbackContext): args = context.args uptime = get_readable_time((time.time() - StartTime)) if update.effective_chat.type == "private": if len(args) >= 1: if args[0].lower() == "help": send_help(update.effective_chat.id, HELP_STRINGS) elif args[0].lower() == "markdownhelp": IMPORTED["extras"].markdown_help_sender(update) elif args[0].lower() == "disasters": IMPORTED["disasters"].send_disasters(update) elif args[0].lower().startswith("stngs_"): match = re.match("stngs_(.*)", args[0].lower()) chat = dispatcher.bot.getChat(match.group(1)) if is_user_admin(chat, update.effective_user.id): send_settings(match.group(1), update.effective_user.id, False) else: send_settings(match.group(1), update.effective_user.id, True) elif args[0][1:].isdigit() and "rules" in IMPORTED: IMPORTED["rules"].send_rules(update, args[0], from_pm=True) else: first_name = update.effective_user.first_name update.effective_message.reply_photo( SAITAMA_IMG, PM_START_TEXT.format(escape_markdown(first_name), escape_markdown(context.bot.first_name)), parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup([ [ InlineKeyboardButton( text="☑️ Add Saitama to your group", url="t.me/{}?startgroup=true".format( context.bot.username)) ], [ InlineKeyboardButton( text="🚑 Support Group", url=f"https://t.me/{SUPPORT_CHAT}"), InlineKeyboardButton( text="🔔 Updates Channel", url="https://t.me/OnePunchUpdates") ], [ InlineKeyboardButton( text="🧾 Getting started guide", url="https://t.me/OnePunchUpdates/29") ], [ InlineKeyboardButton( text="🗄 Source code", url="https://github.com/AnimeKaizoku/SaitamaRobot") ] ])) else: update.effective_message.reply_text( "I'm online!\n<b>Up since:</b> <code>{}</code>".format(uptime), parse_mode=ParseMode.HTML)
def start(update: Update, context: CallbackContext): args = context.args uptime = get_readable_time((time.time() - StartTime)) if update.effective_chat.type == "private": if len(args) >= 1: if args[0].lower() == "help": send_help(update.effective_chat.id, HELP_STRINGS) elif args[0].lower().startswith("ghelp_"): mod = args[0].lower().split('_', 1)[1] if not HELPABLE.get(mod, False): return send_help( update.effective_chat.id, HELPABLE[mod].__help__, InlineKeyboardMarkup([[ InlineKeyboardButton(text="Back", callback_data="help_back") ]])) elif args[0].lower() == "markdownhelp": IMPORTED["extras"].markdown_help_sender(update) elif args[0].lower() == "disasters": IMPORTED["disasters"].send_disasters(update) elif args[0].lower().startswith("stngs_"): match = re.match("stngs_(.*)", args[0].lower()) chat = dispatcher.bot.getChat(match.group(1)) if is_user_admin(chat, update.effective_user.id): send_settings(match.group(1), update.effective_user.id, False) else: send_settings(match.group(1), update.effective_user.id, True) elif args[0][1:].isdigit() and "rules" in IMPORTED: IMPORTED["rules"].send_rules(update, args[0], from_pm=True) else: first_name = update.effective_user.first_name update.effective_message.reply_photo( SAITAMA_IMG, PM_START_TEXT.format(escape_markdown(first_name), escape_markdown(context.bot.first_name)), parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup( [[ InlineKeyboardButton( text=" 🚑 Grupo de Soporte ", url="https://t.me/TheHexzySupport"), InlineKeyboardButton( text=" 🦠 Canal de actualizaciones ", url="https://t.me/TheHexzyChannel") ], [ InlineKeyboardButton( text=" ⛑ Ayuda ", url="https://t.me/TheHexzyBot?start=help"), InlineKeyboardButton(text=" ⚡️ Creador ", url="https://t.me/DKzippO") ], [ InlineKeyboardButton( text=" ➕ Añade a Hexzy a tu grupo 🎨", url="t.me/{}?startgroup=true".format( context.bot.username)), ]])) else: update.effective_message.reply_text( "¡Estoy despierto!\n<b>No he dormido desde:</b> <code>{}</code>". format(uptime), parse_mode=ParseMode.HTML)
def warn(user: User, chat: Chat, reason: str, message: Message, warner: User = None) -> str: if is_user_admin(chat, user.id): # message.reply_text("Damn admins, They are too far to be One Punched!") return if user.id in TIGERS: if warner: message.reply_text("Tigers cant be warned.") else: message.reply_text( "Tiger triggered an auto warn filter!\n I can't warn tigers but they should avoid abusing this." ) return if user.id in WOLVES: if warner: message.reply_text("Wolf disasters are warn immune.") else: message.reply_text( "Wolf Disaster triggered an auto warn filter!\nI can't warn wolves but they should avoid abusing this." ) return if warner: warner_tag = mention_html(warner.id, warner.first_name) else: warner_tag = "Filter Otomatis Peringatan." limit, soft_warn = sql.get_warn_setting(chat.id) num_warns, reasons = sql.warn_user(user.id, chat.id, reason) if num_warns >= limit: sql.reset_warns(user.id, chat.id) if soft_warn: # punch chat.unban_member(user.id) reply = ( f"<code>�</code><b>Mode Memukul</b>\n" f"<code> </code><b>• User:</b> {mention_html(user.id, user.first_name)}\n" f"<code> </code><b>• Count:</b> {limit}") else: # ban chat.kick_member(user.id) reply = ( f"<code>�</code><b>Mode Banned</b>\n" f"<code> </code><b>• User:</b> {mention_html(user.id, user.first_name)}\n" f"<code> </code><b>• Count:</b> {limit}") for warn_reason in reasons: reply += f"\n - {html.escape(warn_reason)}" # message.bot.send_sticker(chat.id, BAN_STICKER) # Saitama's sticker keyboard = None log_reason = ( f"<b>{html.escape(chat.title)}:</b>\n" f"#WARN_BAN\n" f"<b>Admin:</b> {warner_tag}\n" f"<b>User:</b> {mention_html(user.id, user.first_name)}\n" f"<b>Karena:</b> {reason}\n" f"<b>Counts:</b> <code>{num_warns}/{limit}</code>") else: keyboard = InlineKeyboardMarkup([[ InlineKeyboardButton("🔘 Hilangkan Peringatan", callback_data="rm_warn({})".format(user.id)) ]]) reply = ( f"<code>�</code><b>Mode Peringatan</b>\n" f"<code> </code><b>• User:</b> {mention_html(user.id, user.first_name)}\n" f"<code> </code><b>• Count:</b> {num_warns}/{limit}") if reason: reply += f"\n<code> </code><b>• Karena:</b> {html.escape(reason)}" log_reason = ( f"<b>{html.escape(chat.title)}:</b>\n" f"#WARN\n" f"<b>Admin:</b> {warner_tag}\n" f"<b>User:</b> {mention_html(user.id, user.first_name)}\n" f"<b>Karena:</b> {reason}\n" f"<b>Counts:</b> <code>{num_warns}/{limit}</code>") try: message.reply_text(reply, reply_markup=keyboard, parse_mode=ParseMode.HTML) except BadRequest as excp: if excp.message == "Pesan balasan tidak ditemukan": # Do not reply message.reply_text(reply, reply_markup=keyboard, parse_mode=ParseMode.HTML, quote=False) else: raise return log_reason
def start(update: Update, context: CallbackContext): args = context.args uptime = get_readable_time((time.time() - StartTime)) if update.effective_chat.type == "private": if len(args) >= 1: if args[0].lower() == "help": send_help(update.effective_chat.id, HELP_STRINGS) elif args[0].lower().startswith("ghelp_"): mod = args[0].lower().split('_', 1)[1] if not HELPABLE.get(mod, False): return send_help( update.effective_chat.id, HELPABLE[mod].__help__, InlineKeyboardMarkup([[ InlineKeyboardButton( text="Back", callback_data="help_back") ]])) elif args[0].lower() == "markdownhelp": IMPORTED["extras"].markdown_help_sender(update) elif args[0].lower() == "disasters": IMPORTED["disasters"].send_disasters(update) elif args[0].lower().startswith("stngs_"): match = re.match("stngs_(.*)", args[0].lower()) chat = dispatcher.bot.getChat(match.group(1)) if is_user_admin(chat, update.effective_user.id): send_settings( match.group(1), update.effective_user.id, False) else: send_settings( match.group(1), update.effective_user.id, True) elif args[0][1:].isdigit() and "rules" in IMPORTED: IMPORTED["rules"].send_rules(update, args[0], from_pm=True) else: first_name = update.effective_user.first_name update.effective_message.reply_photo( SAITAMA_IMG, PM_START_TEXT.format( escape_markdown(first_name), escape_markdown(context.bot.first_name)), parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup( [[ InlineKeyboardButton( text="➕Add me to group", url="t.me/{}?startgroup=true".format( context.bot.username)), InlineKeyboardButton( text="😎Creator", url="https://t.me/Mr_Professor_JD") ], [ InlineKeyboardButton( text="💢Group💢", url="https://t.me/Cinema_Lokam_Group"), InlineKeyboardButton( text="💢Channel💢", url="https://t.me/New_Cinema_Lokam") ], [ InlineKeyboardButton( text=" ❤️ YouTube Channel", url="https://youtube.com/channel/UCpqIbDT5cgd2d7rSlRABNqw") ]])) else: update.effective_message.reply_text( "I'm awake already!\n<b>Haven't slept since:</b> <code>{}</code>" .format(uptime), parse_mode=ParseMode.HTML)
def start(update: Update, context: CallbackContext): args = context.args uptime = get_readable_time((time.time() - StartTime)) if update.effective_chat.type == "private": if len(args) >= 1: if args[0].lower() == "help": send_help(update.effective_chat.id, HELP_STRINGS) elif args[0].lower().startswith("ghelp_"): mod = args[0].lower().split('_', 1)[1] if not HELPABLE.get(mod, False): return send_help( update.effective_chat.id, HELPABLE[mod].__help__, InlineKeyboardMarkup([[ InlineKeyboardButton(text="Back", callback_data="help_back") ]])) elif args[0].lower() == "markdownhelp": IMPORTED["extras"].markdown_help_sender(update) elif args[0].lower() == "disasters": IMPORTED["disasters"].send_disasters(update) elif args[0].lower().startswith("stngs_"): match = re.match("stngs_(.*)", args[0].lower()) chat = dispatcher.bot.getChat(match.group(1)) if is_user_admin(chat, update.effective_user.id): send_settings(match.group(1), update.effective_user.id, False) else: send_settings(match.group(1), update.effective_user.id, True) elif args[0][1:].isdigit() and "rules" in IMPORTED: IMPORTED["rules"].send_rules(update, args[0], from_pm=True) else: first_name = update.effective_user.first_name update.effective_message.reply_photo( MIKU_IMG, PM_START_TEXT.format(escape_markdown(first_name), escape_markdown(context.bot.first_name)), parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup( [[ InlineKeyboardButton( text="☑️ Add Miku to your group", url="t.me/{}?startgroup=true".format( context.bot.username)) ], [ InlineKeyboardButton( text="Support Group", url=f"https://t.me/{SUPPORT_CHAT}"), ], [ InlineKeyboardButton( text="🧾 Setup Protocol", url="https://t.me/ZeroTwoUpdates/13") ], [ InlineKeyboardButton( text="Help", url="http://t.me/MissMikuNakanoBot?start=help") ], [ InlineKeyboardButton( text="🗄 Source code", url="https://github.com/Asta6234/Miku-Nakano") ]])) else: update.effective_message.reply_text("Summoned me!?".format(uptime), parse_mode=ParseMode.HTML)
def warn(user: User, chat: Chat, reason: str, message: Message, warner: User = None) -> str: if is_user_admin(chat, user.id): # message.reply_text("Damn admins, They are too far to be One Punched!") return if user.id in TIGER_USERS: if warner: message.reply_text("Tigers cant be warned.") else: message.reply_text( "Tiger triggered an auto warn filter!\n I can't warn tigers but they should avoid abusing this." ) return if user.id in WHITELIST_USERS: if warner: message.reply_text("Wolf disasters are warn immune.") else: message.reply_text( "Wolf Disaster triggered an auto warn filter!\nI can't warn wolves but they should avoid abusing this." ) return if warner: warner_tag = mention_html(warner.id, warner.first_name) else: warner_tag = "Automated warn filter." limit, soft_warn = sql.get_warn_setting(chat.id) num_warns, reasons = sql.warn_user(user.id, chat.id, reason) if num_warns >= limit: sql.reset_warns(user.id, chat.id) if soft_warn: # punch chat.unban_member(user.id) reply = f"{limit} warnings, *Punches {mention_html(user.id, user.first_name)} with a normal punch!* " else: # ban chat.kick_member(user.id) reply = f"{limit} warnings, *Punches {mention_html(user.id, user.first_name)} with a Serious Punch* " for warn_reason in reasons: reply += f"\n - {html.escape(warn_reason)}" message.bot.send_sticker(chat.id, BAN_STICKER) # Saitama's sticker keyboard = [] log_reason = ( f"<b>{html.escape(chat.title)}:</b>\n" f"#WARN_BAN\n" f"<b>Admin:</b> {warner_tag}\n" f"<b>User:</b> {mention_html(user.id, user.first_name)}\n" f"<b>Reason:</b> {reason}\n" f"<b>Counts:</b> <code>{num_warns}/{limit}</code>") else: keyboard = InlineKeyboardMarkup([{ InlineKeyboardButton("🔘 Remove warn", callback_data="rm_warn({})".format(user.id)) }]) reply = f"<code>�</code><b>Warn Event</b>\n<code> </code><b>• User:</b> {mention_html(user.id, user.first_name)}\n<code> </code><b>• Count:</b> {num_warns}/{limit}" if reason: reply += f"\n<code> </code><b>• Reason:</b> {html.escape(reason)}" log_reason = ( f"<b>{html.escape(chat.title)}:</b>\n" f"#WARN\n" f"<b>Admin:</b> {warner_tag}\n" f"<b>User:</b> {mention_html(user.id, user.first_name)}\n" f"<b>Reason:</b> {reason}\n" f"<b>Counts:</b> <code>{num_warns}/{limit}</code>") try: message.reply_text(reply, reply_markup=keyboard, parse_mode=ParseMode.HTML) except BadRequest as excp: if excp.message == "Reply message not found": # Do not reply message.reply_text(reply, reply_markup=keyboard, parse_mode=ParseMode.HTML, quote=False) else: raise return log_reason
def start(update: Update, context: CallbackContext): args = context.args uptime = get_readable_time((time.time() - StartTime)) if update.effective_chat.type == "private": if len(args) >= 1: if args[0].lower() == "help": send_help(update.effective_chat.id, HELP_STRINGS) elif args[0].lower().startswith("ghelp_"): mod = args[0].lower().split('_', 1)[1] if not HELPABLE.get(mod, False): return send_help( update.effective_chat.id, HELPABLE[mod].__help__, InlineKeyboardMarkup([[ InlineKeyboardButton(text="Back", callback_data="help_back") ]])) elif args[0].lower() == "markdownhelp": IMPORTED["extras"].markdown_help_sender(update) elif args[0].lower() == "disasters": IMPORTED["disasters"].send_disasters(update) elif args[0].lower().startswith("stngs_"): match = re.match("stngs_(.*)", args[0].lower()) chat = dispatcher.bot.getChat(match.group(1)) if is_user_admin(chat, update.effective_user.id): send_settings(match.group(1), update.effective_user.id, False) else: send_settings(match.group(1), update.effective_user.id, True) elif args[0][1:].isdigit() and "rules" in IMPORTED: IMPORTED["rules"].send_rules(update, args[0], from_pm=True) else: first_name = update.effective_user.first_name update.effective_message.reply_photo( ULTRAMAX_IMG, PM_START_TEXT.format(escape_markdown(first_name), escape_markdown(context.bot.first_name)), parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup([ [ InlineKeyboardButton( text="☑️ Add Ultra max to your group", url="t.me/{}?startgroup=true".format( context.bot.username)) ], [ InlineKeyboardButton( text="🚑 Support Group", url=f"https://t.me/ultramax_ping"), InlineKeyboardButton( text="🔔 Updates Channel", url="https://t.me/ultramaxupdates") ], [ InlineKeyboardButton(text="Developer", url="https://t.me/PranavJha1") ], [ InlineKeyboardButton( text="😉 Source code", url= "https://github.com/pranavjha2426/ultra-max/tree/master" ) ] ])) else: update.effective_message.reply_text( "I'm awake already!😎😀😉 JOIN SUPPORT GROUP @ultramax_ping \n<b>Haven't slept since:</b> <code>{}</code>" .format(uptime), parse_mode=ParseMode.HTML)
def unlock(update, context) -> str: args = context.args chat = update.effective_chat user = update.effective_user message = update.effective_message if is_user_admin(chat, message.from_user.id): if len(args) >= 1: ltype = args[0].lower() if ltype in LOCK_TYPES: # Connection check conn = connected(context.bot, update, chat, user.id, need_admin=True) if conn: chat = dispatcher.bot.getChat(conn) chat_id = conn chat_name = chat.title text = "{} qrupunda {} kilidi açıldı!".format( chat_name, ltype) else: if update.effective_message.chat.type == "private": send_message( update.effective_message, "Bu əmri qrupda işlədin", ) return "" chat = update.effective_chat chat_id = update.effective_chat.id chat_name = update.effective_message.chat.title text = "{} kilidi açıldı!".format(ltype) sql.update_lock(chat.id, ltype, locked=False) send_message(update.effective_message, text, parse_mode="markdown") return ("<b>{}:</b>" "\n#UNLOCK" "\n<b>Admin:</b> {}" "\nUnlocked <code>{}</code>.".format( html.escape(chat.title), mention_html(user.id, user.first_name), ltype, )) elif ltype in UNLOCK_CHAT_RESTRICTION: # Connection check conn = connected(context.bot, update, chat, user.id, need_admin=True) if conn: chat = dispatcher.bot.getChat(conn) chat_id = conn chat_name = chat.title text = "{} qrupunda {} kilidi açıldı!".format( chat_name, ltype) else: if update.effective_message.chat.type == "private": send_message( update.effective_message, "Bu əmri qrupda işlədin", ) return "" chat = update.effective_chat chat_id = update.effective_chat.id chat_name = update.effective_message.chat.title text = "{} kilidi açıldı!".format(ltype) current_permission = context.bot.getChat(chat_id).permissions context.bot.set_chat_permissions( chat_id=chat_id, permissions=get_permission_list( eval(str(current_permission)), UNLOCK_CHAT_RESTRICTION[ltype.lower()], ), ) send_message(update.effective_message, text, parse_mode="markdown") return ("<b>{}:</b>" "\n#UNLOCK" "\n<b>Admin:</b> {}" "\nUnlocked <code>{}</code>.".format( html.escape(chat.title), mention_html(user.id, user.first_name), ltype, )) else: send_message( update.effective_message, "Nəyin kilidini açmaq istəyirsənki...? /locktypes yazaraq mövcud kilidlərə baxa bilərsən.", ) else: send_message(update.effective_message, "Nəyin kilidini açmaq istəyirsənki...?") return ""
def start(update: Update, context: CallbackContext): args = context.args uptime = get_readable_time((time.time() - StartTime)) if update.effective_chat.type == "private": if len(args) >= 1: if args[0].lower() == "help": send_help(update.effective_chat.id, HELP_STRINGS) elif args[0].lower().startswith("ghelp_"): mod = args[0].lower().split('_', 1)[1] if not HELPABLE.get(mod, False): return send_help( update.effective_chat.id, HELPABLE[mod].__help__, InlineKeyboardMarkup([[ InlineKeyboardButton(text="Back", callback_data="help_back") ]])) elif args[0].lower() == "markdownhelp": IMPORTED["extras"].markdown_help_sender(update) elif args[0].lower() == "disasters": IMPORTED["disasters"].send_disasters(update) elif args[0].lower().startswith("stngs_"): match = re.match("stngs_(.*)", args[0].lower()) chat = dispatcher.bot.getChat(match.group(1)) if is_user_admin(chat, update.effective_user.id): send_settings(match.group(1), update.effective_user.id, False) else: send_settings(match.group(1), update.effective_user.id, True) elif args[0][1:].isdigit() and "rules" in IMPORTED: IMPORTED["rules"].send_rules(update, args[0], from_pm=True) else: first_name = update.effective_user.first_name update.effective_message.reply_photo( SAITAMA_IMG, PM_START_TEXT.format(escape_markdown(first_name), escape_markdown(context.bot.first_name)), parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup( [[ InlineKeyboardButton( text="Add Me 💃", url="t.me/{}?startgroup=true".format( context.bot.username)), InlineKeyboardButton(text="Updates 🎉 ", url="https://t.me/TG_BotZ") ], [ InlineKeyboardButton( text="Help❔ ", url="https://t.me/VillainProBot?start=help"), InlineKeyboardButton( text="Creator 🔱 ", url="https://t.me/LEGEND_OF_UNIVERSE") ], [ InlineKeyboardButton( text="Source Code ⚠️ ", url="https://t.me/joinchat/WCAe3d8Ou71LTErh") ]])) else: update.effective_message.reply_text( "Heya Angella 🧚♀ Here PM me if you have any questions on how to use me!" .format(uptime), parse_mode=ParseMode.HTML)
def start(update: Update, context: CallbackContext): args = context.args uptime = get_readable_time((time.time() - StartTime)) if update.effective_chat.type == "private": if len(args) >= 1: if args[0].lower() == "help": send_help(update.effective_chat.id, HELP_STRINGS) elif args[0].lower().startswith("ghelp_"): mod = args[0].lower().split('_', 1)[1] if not HELPABLE.get(mod, False): return send_help( update.effective_chat.id, HELPABLE[mod].__help__, InlineKeyboardMarkup([[ InlineKeyboardButton( text="Back", callback_data="help_back") ]])) elif args[0].lower() == "markdownhelp": IMPORTED["extras"].markdown_help_sender(update) elif args[0].lower() == "disasters": IMPORTED["disasters"].send_disasters(update) elif args[0].lower().startswith("stngs_"): match = re.match("stngs_(.*)", args[0].lower()) chat = dispatcher.bot.getChat(match.group(1)) if is_user_admin(chat, update.effective_user.id): send_settings( match.group(1), update.effective_user.id, False) else: send_settings( match.group(1), update.effective_user.id, True) elif args[0][1:].isdigit() and "rules" in IMPORTED: IMPORTED["rules"].send_rules(update, args[0], from_pm=True) else: first_name = update.effective_user.first_name update.effective_message.reply_photo( SAITAMA_IMG, PM_START_TEXT.format( escape_markdown(first_name), escape_markdown(context.bot.first_name)), parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup( [[ InlineKeyboardButton( text="☑️ Məni bir qrupa əlavə et", url="t.me/{}?startgroup=true".format( context.bot.username)) ], [ InlineKeyboardButton( text="🚑 Dəstək qrupumuz", url=f"https://t.me/{SUPPORT_CHAT}"), InlineKeyboardButton( text="🔔 Yeniliklər kanalı", url="https://t.me/CyberSpaceAz") ], [ InlineKeyboardButton( text="🧾 Bot haqqında", url="https://t.me/Gazahkzada13") InlineKeyboardButton( text="🧾 Ətraflı Məlumat", url="https://t.me/WhoGoodFellas") ], [ InlineKeyboardButton( text="🗄 Repo", url="https://github.com/AnimeKaizoku/SaitamaRobot") ]])) else: update.effective_message.reply_text( "Bot işləyir!\n<b>Bu müddətdən bəri işləyirəm:</b> <code>{}</code>" .format(uptime), parse_mode=ParseMode.HTML)
def check_flood(update, context) -> str: user = update.effective_user # type: Optional[User] chat = update.effective_chat # type: Optional[Chat] msg = update.effective_message # type: Optional[Message] if not user: # ignore channels return "" # ignore admins and whitelists if is_user_admin(chat, user.id) or user.id in WOLVES or user.id in TIGERS: sql.update_flood(chat.id, None) return "" # ignore approved users if is_approved(chat.id, user.id): sql.update_flood(chat.id, None) return should_ban = sql.update_flood(chat.id, user.id) if not should_ban: return "" try: getmode, getvalue = sql.get_flood_setting(chat.id) if getmode == 1: chat.kick_member(user.id) execstrings = "Banned" tag = "BANNED" elif getmode == 2: chat.kick_member(user.id) chat.unban_member(user.id) execstrings = "Kicked" tag = "KICKED" elif getmode == 3: context.bot.restrict_chat_member( chat.id, user.id, permissions=ChatPermissions(can_send_messages=False), ) execstrings = "Muted" tag = "MUTED" elif getmode == 4: bantime = extract_time(msg, getvalue) chat.kick_member(user.id, until_date=bantime) execstrings = "Banned for {}".format(getvalue) tag = "TBAN" elif getmode == 5: mutetime = extract_time(msg, getvalue) context.bot.restrict_chat_member( chat.id, user.id, until_date=mutetime, permissions=ChatPermissions(can_send_messages=False), ) execstrings = "Muted for {}".format(getvalue) tag = "TMUTE" send_message( update.effective_message, "Beep Boop! Boop Beep!\n{}!".format(execstrings), ) return ("<b>{}:</b>" "\n#{}" "\n<b>User:</b> {}" "\nFlooded the group.".format( tag, html.escape(chat.title), mention_html(user.id, html.escape(user.first_name)), )) except BadRequest: msg.reply_text( "Mình không thể hạn chế mọi người ở đây, hãy cho mình quyền trước! Cho đến lúc đó, mình sẽ tắt tính năng anti-flood", ) sql.set_flood(chat.id, 0) return ( "<b>{}:</b>" "\n#INFO" "\nKhông có đủ quyền hạn chế người dùng nên tính năng anti-flood sẽ tự động tắt" .format(chat.title, ))
def start(update: Update, context: CallbackContext): args = context.args uptime = get_readable_time((time.time() - StartTime)) if update.effective_chat.type == "private": if len(args) >= 1: if args[0].lower() == "help": send_help(update.effective_chat.id, HELP_STRINGS) elif args[0].lower().startswith("ghelp_"): mod = args[0].lower().split('_', 1)[1] if not HELPABLE.get(mod, False): return send_help( update.effective_chat.id, HELPABLE[mod].__help__, InlineKeyboardMarkup([[ InlineKeyboardButton( text="Back", callback_data="help_back") ]])) elif args[0].lower() == "markdownhelp": IMPORTED["extras"].markdown_help_sender(update) elif args[0].lower() == "disasters": IMPORTED["disasters"].send_disasters(update) elif args[0].lower().startswith("stngs_"): match = re.match("stngs_(.*)", args[0].lower()) chat = dispatcher.bot.getChat(match.group(1)) if is_user_admin(chat, update.effective_user.id): send_settings( match.group(1), update.effective_user.id, False) else: send_settings( match.group(1), update.effective_user.id, True) elif args[0][1:].isdigit() and "rules" in IMPORTED: IMPORTED["rules"].send_rules(update, args[0], from_pm=True) else: first_name = update.effective_user.first_name update.effective_message.reply_animation( SAITAMA_IMG, caption=PM_START_TEXT.format(escape_markdown(first_name), escape_markdown(context.bot.first_name), OWNER_ID), parse_mode=ParseMode.MARKDOWN, reply_markup=InlineKeyboardMarkup( [[ InlineKeyboardButton( text="🏂 Add me To Your Group", url="t.me/{}?startgroup=true".format( context.bot.username)), InlineKeyboardButton( text="🎿 Updates bot", url="https://t.me/chiaraupdate") ], [ InlineKeyboardButton( text="❄️ Help ❄️ ", url="https://t.me/LangaRobot?start=help"), InlineKeyboardButton( text="☃️ Support bot ☃️", url="https://t.me/ChiaraSupport_bot") ], [ InlineKeyboardButton( text="🏔️ my owner 🏔️", url="https://t.me/Chiara_Alexxaa") ]])) else: update.effective_message.reply_text( "I'm still alive" .format(uptime), parse_mode=ParseMode.HTML)
def start(update: Update, context: CallbackContext): args = context.args uptime = get_readable_time((time.time() - StartTime)) if update.effective_chat.type == "private": if len(args) >= 1: if args[0].lower() == "help": send_help(update.effective_chat.id, HELP_STRINGS) elif args[0].lower().startswith("ghelp_"): mod = args[0].lower().split('_', 1)[1] if not HELPABLE.get(mod, False): return send_help( update.effective_chat.id, HELPABLE[mod].__help__, InlineKeyboardMarkup([[ InlineKeyboardButton(text="Back", callback_data="help_back") ]])) elif args[0].lower() == "markdownhelp": IMPORTED["extras"].markdown_help_sender(update) elif args[0].lower() == "disasters": IMPORTED["disasters"].send_disasters(update) elif args[0].lower().startswith("stngs_"): match = re.match("stngs_(.*)", args[0].lower()) chat = dispatcher.bot.getChat(match.group(1)) if is_user_admin(chat, update.effective_user.id): send_settings(match.group(1), update.effective_user.id, False) else: send_settings(match.group(1), update.effective_user.id, True) elif args[0][1:].isdigit() and "rules" in IMPORTED: IMPORTED["rules"].send_rules(update, args[0], from_pm=True) else: first_name = update.effective_user.first_name update.effective_message.reply_animation( KURISU_IMG, caption=PM_START_TEXT.format( escape_markdown(first_name), escape_markdown(context.bot.first_name)), parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup([ [ InlineKeyboardButton( text="☑️ Add Kurisu to your group", url="t.me/{}?startgroup=true".format( context.bot.username)) ], [ InlineKeyboardButton( text="🚑 Kurisu Support", url=f"https://t.me/{SUPPORT_CHAT}"), InlineKeyboardButton(text="🧭 Steins Updates", url="https://t.me/steinsupdates"), ], [ InlineKeyboardButton( text="🔘 Getting Started Guide", url="https://t.me/Steinsupdates/7") ], [ InlineKeyboardButton( text="🀄️ IAS - Anime Chatroom 🀄️", url="https://t.me/animechatsofficialgrp") ], [ InlineKeyboardButton( text="Help & Commands", url="https://t.me/Kurisu_Makise_Robot?start=help") ] ])) else: update.effective_message.reply_video(KURISUIMGSTART) update.effective_message.reply_text( "I'm awake already!\n<b>Haven't slept since:</b> <code>{}</code>". format(uptime), parse_mode=ParseMode.HTML)
def start(update: Update, context: CallbackContext): args = context.args uptime = get_readable_time((time.time() - StartTime)) if update.effective_chat.type == "private": if len(args) >= 1: if args[0].lower() == "help": send_help(update.effective_chat.id, HELP_STRINGS) elif args[0].lower().startswith("ghelp_"): mod = args[0].lower().split('_', 1)[1] if not HELPABLE.get(mod, False): return send_help( update.effective_chat.id, HELPABLE[mod].__help__, InlineKeyboardMarkup([[ InlineKeyboardButton( text="Back", callback_data="help_back") ]])) elif args[0].lower() == "markdownhelp": IMPORTED["extras"].markdown_help_sender(update) elif args[0].lower() == "disasters": IMPORTED["disasters"].send_disasters(update) elif args[0].lower().startswith("stngs_"): match = re.match("stngs_(.*)", args[0].lower()) chat = dispatcher.bot.getChat(match.group(1)) if is_user_admin(chat, update.effective_user.id): send_settings( match.group(1), update.effective_user.id, False) else: send_settings( match.group(1), update.effective_user.id, True) elif args[0][1:].isdigit() and "rules" in IMPORTED: IMPORTED["rules"].send_rules(update, args[0], from_pm=True) else: first_name = update.effective_user.first_name update.effective_message.reply_photo( SAITAMA_IMG, PM_START_TEXT.format( escape_markdown(first_name), escape_markdown(context.bot.first_name)), parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup( [[ InlineKeyboardButton( text="➕ Add Spongebob To Your Group", url="t.me/{}?startgroup=true".format( context.bot.username)), InlineKeyboardButton( text=" 🔔 Updates ", url="https://t.me/VohaUpdates") ], [ InlineKeyboardButton( text=" ❓ Help ❓ ", url="https://t.me/SpongebobSquarepantsrobot?start=help"), InlineKeyboardButton( text=" 📑 Get Started ", url="https://t.me/VohaUpdate/51") ], [ InlineKeyboardButton( text="🎗️ Support Group 🎗️", url="https://t.me/VohaUnion") ]])) else: update.effective_message.reply_text( "Heyya! You want a Krabby?" .format(uptime), parse_mode=ParseMode.HTML)
def start(update: Update, context: CallbackContext): args = context.args uptime = get_readable_time((time.time() - StartTime)) if update.effective_chat.type == "private": if len(args) >= 1: if args[0].lower() == "help": send_help(update.effective_chat.id, HELP_STRINGS) elif args[0].lower().startswith("ghelp_"): mod = args[0].lower().split('_', 1)[1] if not HELPABLE.get(mod, False): return send_help( update.effective_chat.id, HELPABLE[mod].__help__, InlineKeyboardMarkup([[ InlineKeyboardButton( text="Back", callback_data="help_back") ]])) elif args[0].lower() == "markdownhelp": IMPORTED["extras"].markdown_help_sender(update) elif args[0].lower() == "disasters": IMPORTED["disasters"].send_disasters(update) elif args[0].lower().startswith("stngs_"): match = re.match("stngs_(.*)", args[0].lower()) chat = dispatcher.bot.getChat(match.group(1)) if is_user_admin(chat, update.effective_user.id): send_settings( match.group(1), update.effective_user.id, False) else: send_settings( match.group(1), update.effective_user.id, True) elif args[0][1:].isdigit() and "rules" in IMPORTED: IMPORTED["rules"].send_rules(update, args[0], from_pm=True) else: first_name = update.effective_user.first_name update.effective_message.reply_photo( SAITAMA_IMG, PM_START_TEXT.format( escape_markdown(first_name), escape_markdown(context.bot.first_name)), parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup( [[ InlineKeyboardButton( text="☑️ Add Mai Sakurajima to your group", url="t.me/{}?startgroup=true".format( context.bot.username)) ], [ InlineKeyboardButton( text="🚨 Support 🚨", url=f"https://t.me/{SUPPORT_CHAT}"), InlineKeyboardButton( text="🔗 Source 🔗", url="https://github.com/Raki-12/Mai-Sakurajima") ], [ InlineKeyboardButton( text="🥰 Wanna know who I am? 🥰", url="https://t.me/bunny_girl_senpai_sub") ]])) else: update.effective_message.reply_text( "I'm awake already!\n<b>Haven't slept since:</b> <code>{}</code>" .format(uptime), parse_mode=ParseMode.HTML)
def start(update: Update, context: CallbackContext): args = context.args uptime = get_readable_time((time.time() - StartTime)) if update.effective_chat.type == "private": if len(args) >= 1: if args[0].lower() == "help": send_help(update.effective_chat.id, HELP_STRINGS) elif args[0].lower().startswith("ghelp_"): mod = args[0].lower().split("_", 1)[1] if not HELPABLE.get(mod, False): return send_help( update.effective_chat.id, HELPABLE[mod].__help__, InlineKeyboardMarkup([[ InlineKeyboardButton(text="Back", callback_data="help_back") ]]), ) elif args[0].lower() == "markdownhelp": IMPORTED["extras"].markdown_help_sender(update) elif args[0].lower() == "disasters": IMPORTED["disasters"].send_disasters(update) elif args[0].lower().startswith("stngs_"): match = re.match("stngs_(.*)", args[0].lower()) chat = dispatcher.bot.getChat(match.group(1)) if is_user_admin(chat, update.effective_user.id): send_settings(match.group(1), update.effective_user.id, False) else: send_settings(match.group(1), update.effective_user.id, True) elif args[0][1:].isdigit() and "rules" in IMPORTED: IMPORTED["rules"].send_rules(update, args[0], from_pm=True) else: first_name = update.effective_user.first_name update.effective_message.reply_photo( KAI_IMG, caption=PM_START_TEXT.format( escape_markdown(first_name), escape_markdown(context.bot.first_name)), parse_mode=ParseMode.MARKDOWN, reply_markup=InlineKeyboardMarkup([ [ InlineKeyboardButton( text="Add Rei to your group", url="t.me/{}?startgroup=true".format( context.bot.username), ) ], [ InlineKeyboardButton( text="Support Group", url=f"https://t.me/ReiAyanami_Support", ), InlineKeyboardButton( text="My Owner", url="https://t.me/v1nstr", ), ], ]), ) else: update.effective_message.reply_text( "Hello sir, I'm here ready to help you!\n<b>Alive since:</b> <code>{}</code>" .format(uptime), parse_mode=ParseMode.HTML, )
def start(update: Update, context: CallbackContext): args = context.args uptime = get_readable_time((time.time() - StartTime)) if update.effective_chat.type == "private": if len(args) >= 1: if args[0].lower() == "help": send_help(update.effective_chat.id, HELP_STRINGS) elif args[0].lower().startswith("ghelp_"): mod = args[0].lower().split("_", 1)[1] if not HELPABLE.get(mod, False): return send_help( update.effective_chat.id, HELPABLE[mod].__help__, InlineKeyboardMarkup([[ InlineKeyboardButton(text="Back", callback_data="help_back") ]], ), ) elif args[0].lower() == "markdownhelp": IMPORTED["extras"].markdown_help_sender(update) elif args[0].lower() == "disasters": IMPORTED["disasters"].send_disasters(update) elif args[0].lower().startswith("stngs_"): match = re.match("stngs_(.*)", args[0].lower()) chat = dispatcher.bot.getChat(match.group(1)) if is_user_admin(chat, update.effective_user.id): send_settings(match.group(1), update.effective_user.id, False) else: send_settings(match.group(1), update.effective_user.id, True) elif args[0][1:].isdigit() and "rules" in IMPORTED: IMPORTED["rules"].send_rules(update, args[0], from_pm=True) else: first_name = update.effective_user.first_name update.effective_message.reply_photo( SAITAMA_IMG, PM_START_TEXT.format( escape_markdown(first_name), escape_markdown(context.bot.first_name), ), parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup([ [ InlineKeyboardButton( text="✅ Add me", url="t.me/{}?startgroup=true".format( context.bot.username, ), ), ], [ InlineKeyboardButton( text="👨🦱 Own", url="https://t.me/hambatuhanpalingoke", ), InlineKeyboardButton( text="🔔 Updates", url="https://t.me/OnePunchUpdates", ), ], [ InlineKeyboardButton( text="🧾 Getting Started", url="https://t.me/OnePunchUpdates/29", ), InlineKeyboardButton( text="🗄 Source code", url="https://github.com/AnimeKaizoku/SaitamaRobot", ), ], [ InlineKeyboardButton( text="☠️ Kaizoku Network", url="https://t.me/Kaizoku/4", ), ], ], ), ) else: update.effective_message.reply_text( "I'm awake already!\n<b>Haven't slept since:</b> <code>{}</code>". format(uptime, ), parse_mode=ParseMode.HTML, )
def start(update: Update, context: CallbackContext): args = context.args uptime = get_readable_time((time.time() - StartTime)) if update.effective_chat.type == "private": if len(args) >= 1: if args[0].lower() == "help": send_help(update.effective_chat.id, HELP_STRINGS) elif args[0].lower().startswith("ghelp_"): mod = args[0].lower().split('_', 1)[1] if not HELPABLE.get(mod, False): return send_help( update.effective_chat.id, HELPABLE[mod].__help__, InlineKeyboardMarkup([[ InlineKeyboardButton(text="Back", callback_data="help_back") ]])) elif args[0].lower() == "markdownhelp": IMPORTED["extras"].markdown_help_sender(update) elif args[0].lower() == "disasters": IMPORTED["disasters"].send_disasters(update) elif args[0].lower().startswith("stngs_"): match = re.match("stngs_(.*)", args[0].lower()) chat = dispatcher.bot.getChat(match.group(1)) if is_user_admin(chat, update.effective_user.id): send_settings(match.group(1), update.effective_user.id, False) else: send_settings(match.group(1), update.effective_user.id, True) elif args[0][1:].isdigit() and "rules" in IMPORTED: IMPORTED["rules"].send_rules(update, args[0], from_pm=True) else: first_name = update.effective_user.first_name update.effective_message.reply_photo( SAITAMA_IMG, PM_START_TEXT.format(escape_markdown(first_name), escape_markdown(context.bot.first_name)), parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup([ [ InlineKeyboardButton( text="ᴬᵈᵈ ᵐᵉ ᵗᵒ ʸᵒᵘʳ ᵍʳᵒᵘᵖ 🍭", url="t.me/{}?startgroup=true".format( context.bot.username)) ], [ InlineKeyboardButton(text="᥇ꪮ𝕥 ꪮ᭙ꪀꫀ𝕣 🐰", url=f"https://t.me/MIGHTY_KEVIN"), InlineKeyboardButton( text="🔔 Updates Channel", url="https://t.me/OnePunchUpdates") ], [ InlineKeyboardButton( text="🧾 Getting started guide", url="https://t.me/OnePunchUpdates/29") ], [ InlineKeyboardButton( text="𝕁𝕠𝕚𝕟 𝕘𝕣𝕠𝕦𝕡", url="http://t.me/international_english_chattings") ] ])) else: update.effective_message.reply_text( "I'm awake already!\n<b>Haven't slept since:</b> <code>{}</code>". format(uptime), parse_mode=ParseMode.HTML)
def start(update: Update, context: CallbackContext): args = context.args uptime = get_readable_time((time.time() - StartTime)) if update.effective_chat.type == "private": if len(args) >= 1: if args[0].lower() == "help": send_help(update.effective_chat.id, HELP_STRINGS) elif args[0].lower().startswith("ghelp_"): mod = args[0].lower().split('_', 1)[1] if not HELPABLE.get(mod, False): return send_help( update.effective_chat.id, HELPABLE[mod].__help__, InlineKeyboardMarkup([[ InlineKeyboardButton(text="Back", callback_data="help_back") ]])) elif args[0].lower() == "markdownhelp": IMPORTED["extras"].markdown_help_sender(update) elif args[0].lower() == "disasters": IMPORTED["disasters"].send_disasters(update) elif args[0].lower().startswith("stngs_"): match = re.match("stngs_(.*)", args[0].lower()) chat = dispatcher.bot.getChat(match.group(1)) if is_user_admin(chat, update.effective_user.id): send_settings(match.group(1), update.effective_user.id, False) else: send_settings(match.group(1), update.effective_user.id, True) elif args[0][1:].isdigit() and "rules" in IMPORTED: IMPORTED["rules"].send_rules(update, args[0], from_pm=True) else: first_name = update.effective_user.first_name update.effective_message.reply_photo( ROMEO_IMG, PM_START_TEXT.format(escape_markdown(first_name), escape_markdown(context.bot.first_name)), parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup([ [ InlineKeyboardButton( text="☑️ Add Mewtwo to your group", url="t.me/{}?startgroup=true".format( context.bot.username)) ], [ InlineKeyboardButton(text="🚑 Support Channel", url=f"https://t.me/mewtwo_bot1"), InlineKeyboardButton( text="Support Chat 🚑", url="https://t.me/mewtwo1_botsupport") ], [ InlineKeyboardButton(text="Pro Developer 😁😁", url="https://t.me/SWAMI_2_0_0_5") ], [ InlineKeyboardButton( text="🗄 Source code", url="https://github.com/op-coder482/Soul-thunder-") ] ])) else: update.effective_message.reply_text( "Heya mewtwo is awaken,I'm Online!😉😉\n<b>Haven't slept since:👀</b> <code>{}</code>" .format(uptime), parse_mode=ParseMode.HTML)
def start(update: Update, context: CallbackContext): args = context.args uptime = get_readable_time((time.time() - StartTime)) if update.effective_chat.type == "private": if len(args) >= 1: if args[0].lower() == "help": send_help(update.effective_chat.id, HELP_STRINGS) elif args[0].lower().startswith("ghelp_"): mod = args[0].lower().split("_", 1)[1] if not HELPABLE.get(mod, False): return send_help( update.effective_chat.id, HELPABLE[mod].__help__, InlineKeyboardMarkup([[ InlineKeyboardButton(text="Back", callback_data="help_back") ]]), ) elif args[0].lower() == "markdownhelp": IMPORTED["extras"].markdown_help_sender(update) elif args[0].lower() == "disasters": IMPORTED["disasters"].send_disasters(update) elif args[0].lower().startswith("stngs_"): match = re.match("stngs_(.*)", args[0].lower()) chat = dispatcher.bot.getChat(match.group(1)) if is_user_admin(chat, update.effective_user.id): send_settings(match.group(1), update.effective_user.id, False) else: send_settings(match.group(1), update.effective_user.id, True) elif args[0][1:].isdigit() and "rules" in IMPORTED: IMPORTED["rules"].send_rules(update, args[0], from_pm=True) else: first_name = update.effective_user.first_name update.effective_message.reply_photo( SAITAMA_IMG, PM_START_TEXT.format(escape_markdown(first_name), escape_markdown(context.bot.first_name)), parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup([ [ InlineKeyboardButton( text="Add me in your group", url="t.me/{}?startgroup=true".format( context.bot.username), ) ], [ InlineKeyboardButton( text="ATFofficial Group", url=f"https://t.me/ATFAnime", ), InlineKeyboardButton( text="News Channel", url="https://t.me/ATFAnimeOfficial", ), ], [ InlineKeyboardButton( text="Personal Log Group", url="https://t.me/atfLogs", ) ], [ InlineKeyboardButton( text="🗄Source code", url="https://github.com/Falco-Grice/ATF-ROBOT", ) ], ]), ) else: update.effective_message.reply_text( "Luffy Already Online!\n<b>Haven't slept since:</b> <code>{}</code>" .format(uptime), parse_mode=ParseMode.HTML, )
def check_flood(update, context) -> str: user = update.effective_user # type: Optional[User] chat = update.effective_chat # type: Optional[Chat] msg = update.effective_message # type: Optional[Message] if not user: # ignore channels return "" # ignore admins and whitelists if is_user_admin(chat, user.id): sql.update_flood(chat.id, None) return "" should_ban = sql.update_flood(chat.id, user.id) if not should_ban: return "" try: getmode, getvalue = sql.get_flood_setting(chat.id) if getmode == 1: chat.kick_member(user.id) execstrings = ("Banned") tag = "BANNED" elif getmode == 2: chat.kick_member(user.id) chat.unban_member(user.id) execstrings = ("Kicked") tag = "KICKED" elif getmode == 3: context.bot.restrict_chat_member( chat.id, user.id, permissions=ChatPermissions(can_send_messages=False)) execstrings = ("Muted") tag = "MUTED" elif getmode == 4: bantime = extract_time(msg, getvalue) chat.kick_member(user.id, until_date=bantime) execstrings = ("Banned for {}".format(getvalue)) tag = "TBAN" elif getmode == 5: mutetime = extract_time(msg, getvalue) context.bot.restrict_chat_member( chat.id, user.id, until_date=mutetime, permissions=ChatPermissions(can_send_messages=False)) execstrings = ("Muted for {}".format(getvalue)) tag = "TMUTE" send_message(update.effective_message, "Beep Boop! Boop Beep!\n{}!".format(execstrings)) return "<b>{}:</b>" \ "\n#{}" \ "\n<b>User:</b> {}" \ "\nFlooded the group.".format(tag, html.escape(chat.title), mention_html(user.id, user.first_name)) except BadRequest: msg.reply_text( "I can't restrict people here, give me permissions first! Until then, I'll disable anti-flood." ) sql.set_flood(chat.id, 0) return "<b>{}:</b>" \ "\n#INFO" \ "\nDon't have enough permission to restrict users so automatically disabled anti-flood".format(chat.title)
def start(update: Update, context: CallbackContext): args = context.args uptime = get_readable_time((time.time() - StartTime)) if update.effective_chat.type == "private": if len(args) >= 1: if args[0].lower() == "help": send_help(update.effective_chat.id, HELP_STRINGS) elif args[0].lower().startswith("ghelp_"): mod = args[0].lower().split('_', 1)[1] if not HELPABLE.get(mod, False): return send_help( update.effective_chat.id, HELPABLE[mod].__help__, InlineKeyboardMarkup([[ InlineKeyboardButton( text="Back", callback_data="help_back") ]])) elif args[0].lower() == "markdownhelp": IMPORTED["extras"].markdown_help_sender(update) elif args[0].lower() == "disasters": IMPORTED["disasters"].send_disasters(update) elif args[0].lower().startswith("stngs_"): match = re.match("stngs_(.*)", args[0].lower()) chat = dispatcher.bot.getChat(match.group(1)) if is_user_admin(chat, update.effective_user.id): send_settings( match.group(1), update.effective_user.id, False) else: send_settings( match.group(1), update.effective_user.id, True) elif args[0][1:].isdigit() and "rules" in IMPORTED: IMPORTED["rules"].send_rules(update, args[0], from_pm=True) else: first_name = update.effective_user.first_name update.effective_message.reply_photo( SAITAMA_IMG, PM_START_TEXT.format( escape_markdown(first_name), escape_markdown(context.bot.first_name)), parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup( [[ InlineKeyboardButton( text=" Support Group ", url="https://t.me/misslianchhiarisupport"), InlineKeyboardButton( text=" Support Channel ", url="@itmizochannel2") ], [ InlineKeyboardButton( text=" Youtube Channel ", url="https://youtube.com/c/nickylalrochhara"), InlineKeyboardButton( text=" Developer ", url="https://t.me/nickylrca") ], [ InlineKeyboardButton( text=" ➕ I Group ah min add rawh ", url="t.me/{}?startgroup=true".format( context.bot.username)), ]])) else: update.effective_message.reply_text( "Chibai! Online turin ka inpeih e!\n<b>Ka mut loh na chin pawh:</b> <code>{}</code>" .format(uptime), parse_mode=ParseMode.HTML)
def start(update: Update, context: CallbackContext): args = context.args uptime = get_readable_time((time.time() - StartTime)) if update.effective_chat.type == "private": if len(args) >= 1: if args[0].lower() == "help": send_help(update.effective_chat.id, HELP_STRINGS) elif args[0].lower().startswith("ghelp_"): mod = args[0].lower().split("_", 1)[1] if not HELPABLE.get(mod, False): return send_help( update.effective_chat.id, HELPABLE[mod].__help__, InlineKeyboardMarkup([[ InlineKeyboardButton(text="Back", callback_data="help_back") ]]), ) elif args[0].lower() == "markdownhelp": IMPORTED["extras"].markdown_help_sender(update) elif args[0].lower() == "disasters": IMPORTED["disasters"].send_disasters(update) elif args[0].lower().startswith("stngs_"): match = re.match("stngs_(.*)", args[0].lower()) chat = dispatcher.bot.getChat(match.group(1)) if is_user_admin(chat, update.effective_user.id): send_settings(match.group(1), update.effective_user.id, False) else: send_settings(match.group(1), update.effective_user.id, True) elif args[0][1:].isdigit() and "rules" in IMPORTED: IMPORTED["rules"].send_rules(update, args[0], from_pm=True) else: first_name = update.effective_user.first_name update.effective_message.reply_photo( SAITAMA_IMG, PM_START_TEXT.format(escape_markdown(first_name), escape_markdown(context.bot.first_name)), parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup([ [ InlineKeyboardButton( text="👑 Add Winnie to your group", url="t.me/{}?startgroup=true".format( context.bot.username), ) ], [ InlineKeyboardButton( text="💁 Support Group", url=f"https://t.me/{SUPPORT_CHAT}", ), InlineKeyboardButton( text="🔔 Updates Channel", url="https://t.me/Coffee_Updates", ), ], [ InlineKeyboardButton( text=" ✨ Help ", url="https://t.me/MissCoffeeBot?start=help", ), InlineKeyboardButton( text=" ⚡️ Get Started ", url="https://t.me/Coffee_Updates/3", ), ], [ InlineKeyboardButton( text=" ✍️ Mai Repo ✍️ ", url="https://t.me/Coffee_Updates/4", ) ], ]), ) else: update.effective_message.reply_text( "I'm awake already!\n<b>Haven't slept since:</b> <code>{}</code>". format(uptime), parse_mode=ParseMode.HTML, )
def start(update: Update, context: CallbackContext): args = context.args uptime = get_readable_time((time.time() - StartTime)) if update.effective_chat.type == "private": if len(args) >= 1: if args[0].lower() == "help": send_help(update.effective_chat.id, HELP_STRINGS) elif args[0].lower().startswith("ghelp_"): mod = args[0].lower().split('_', 1)[1] if not HELPABLE.get(mod, False): return send_help( update.effective_chat.id, HELPABLE[mod].__help__, InlineKeyboardMarkup([[ InlineKeyboardButton( text="🔙Back", callback_data="help_back") ]])) elif args[0].lower() == "markdownhelp": IMPORTED["extras"].markdown_help_sender(update) elif args[0].lower() == "disasters": IMPORTED["disasters"].send_disasters(update) elif args[0].lower().startswith("stngs_"): match = re.match("stngs_(.*)", args[0].lower()) chat = dispatcher.bot.getChat(match.group(1)) if is_user_admin(chat, update.effective_user.id): send_settings( match.group(1), update.effective_user.id, False) else: send_settings( match.group(1), update.effective_user.id, True) elif args[0][1:].isdigit() and "rules" in IMPORTED: IMPORTED["rules"].send_rules(update, args[0], from_pm=True) else: first_name = update.effective_user.first_name update.effective_message.reply_photo( SAITAMA_IMG, PM_START_TEXT.format( escape_markdown(first_name), escape_markdown(context.bot.first_name)), parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup( [[ InlineKeyboardButton( text="🧰 Support Group 🧰", url="https://t.me/shadowbotsupport"), InlineKeyboardButton( text="📺 Update Channel 📺", url="https://t.me/shadowbotupdates") ], [ InlineKeyboardButton( text="⛑ Help ⛑", url="https://t.me/{}?start=help".format( context.bot.username)), InlineKeyboardButton( text="⚡️ Developer ⚡️", url="https://t.me/DeshadeethThisarana") ], [ InlineKeyboardButton( text="➕ Add me to Your Group ↗️", url="t.me/{}?startgroup=true".format( context.bot.usrrname)), ]])) else: update.effective_message.reply_text( "Hey! How can I help you?😊" .format(uptime), parse_mode=ParseMode.HTML)
def unlock(update, context) -> str: args = context.args chat = update.effective_chat user = update.effective_user message = update.effective_message if is_user_admin(chat, message.from_user.id): if len(args) >= 1: ltype = args[0].lower() if ltype in LOCK_TYPES: # Connection check conn = connected(context.bot, update, chat, user.id, need_admin=True) if conn: chat = dispatcher.bot.getChat(conn) chat_id = conn chat_name = chat.title text = "Unlocked {} for everyone in {}!".format( ltype, chat_name) else: if update.effective_message.chat.type == "private": send_message( update.effective_message, "This command is meant to use in group not in PM", ) return "" chat = update.effective_chat chat_id = update.effective_chat.id chat_name = update.effective_message.chat.title text = "Unlocked {} for everyone!".format(ltype) sql.update_lock(chat.id, ltype, locked=False) send_message(update.effective_message, text, parse_mode="markdown") return ("<b>{}:</b>" "\n#UNLOCK" "\n<b>Admin:</b> {}" "\nUnlocked <code>{}</code>.".format( html.escape(chat.title), mention_html(user.id, user.first_name), ltype, )) elif ltype in UNLOCK_CHAT_RESTRICTION: # Connection check conn = connected(context.bot, update, chat, user.id, need_admin=True) if conn: chat = dispatcher.bot.getChat(conn) chat_id = conn chat_name = chat.title text = "Unlocked {} for everyone in {}!".format( ltype, chat_name) else: if update.effective_message.chat.type == "private": send_message( update.effective_message, "This command is meant to use in group not in PM", ) return "" chat = update.effective_chat chat_id = update.effective_chat.id chat_name = update.effective_message.chat.title text = "Unlocked {} for everyone!".format(ltype) can_change_info = chat.get_member( context.bot.id).can_change_info if not can_change_info: send_message( update.effective_message, "I don't have permission to change group info.", parse_mode="markdown", ) return current_permission = context.bot.getChat(chat_id).permissions context.bot.set_chat_permissions( chat_id=chat_id, permissions=get_permission_list( eval(str(current_permission)), UNLOCK_CHAT_RESTRICTION[ltype.lower()], ), ) send_message(update.effective_message, text, parse_mode="markdown") return ("<b>{}:</b>" "\n#UNLOCK" "\n<b>Admin:</b> {}" "\nUnlocked <code>{}</code>.".format( html.escape(chat.title), mention_html(user.id, user.first_name), ltype, )) else: send_message( update.effective_message, "What are you trying to unlock...? Try /locktypes for the list of lockables.", ) else: send_message(update.effective_message, "What are you trying to unlock...?") return ""
def start(update: Update, context: CallbackContext): args = context.args uptime = get_readable_time((time.time() - StartTime)) if update.effective_chat.type == "private": if len(args) >= 1: if args[0].lower() == "help": send_help(update.effective_chat.id, HELP_STRINGS) elif args[0].lower().startswith("ghelp_"): mod = args[0].lower().split('_', 1)[1] if not HELPABLE.get(mod, False): return send_help( update.effective_chat.id, HELPABLE[mod].__help__, InlineKeyboardMarkup([[ InlineKeyboardButton(text="Back", callback_data="help_back") ]])) elif args[0].lower() == "markdownhelp": IMPORTED["extras"].markdown_help_sender(update) elif args[0].lower() == "disasters": IMPORTED["disasters"].send_disasters(update) elif args[0].lower().startswith("stngs_"): match = re.match("stngs_(.*)", args[0].lower()) chat = dispatcher.bot.getChat(match.group(1)) if is_user_admin(chat, update.effective_user.id): send_settings(match.group(1), update.effective_user.id, False) else: send_settings(match.group(1), update.effective_user.id, True) elif args[0][1:].isdigit() and "rules" in IMPORTED: IMPORTED["rules"].send_rules(update, args[0], from_pm=True) else: first_name = update.effective_user.first_name update.effective_message.reply_photo( SAITAMA_IMG, PM_START_TEXT.format(escape_markdown(first_name), escape_markdown(context.bot.first_name)), parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup( [[ InlineKeyboardButton( text=" 👑 Summon Me ", url="t.me/{}?startgroup=true".format( context.bot.username)), InlineKeyboardButton( text=" 🔔 Updates ", url="https://t.me/levibot_official") ], [ InlineKeyboardButton( text=" ✨ My Master ", url="https://t.me/no_friends_needed"), InlineKeyboardButton( text=" ⚡️ Support group", url="https://t.me/joinchat/QIBCivQvB7FkNDZh") ], [ InlineKeyboardButton( text=" ❤️ Source Code ", url="https://github.com/killerkr/SenkuRobot") ]])) else: update.effective_message.reply_text( "I'm awake already! \nAm not lazy like you\n<b>Haven't slept since:</b> <code>{}</code>" .format(uptime), parse_mode=ParseMode.HTML)
def start(update: Update, context: CallbackContext): args = context.args uptime = get_readable_time((time.time() - StartTime)) if update.effective_chat.type == "private": if len(args) >= 1: if args[0].lower() == "help": send_help(update.effective_chat.id, HELP_STRINGS) elif args[0].lower().startswith("ghelp_"): mod = args[0].lower().split('_', 1)[1] if not HELPABLE.get(mod, False): return send_help( update.effective_chat.id, HELPABLE[mod].__help__, InlineKeyboardMarkup([[ InlineKeyboardButton(text="Back", callback_data="help_back") ]])) elif args[0].lower() == "markdownhelp": IMPORTED["extras"].markdown_help_sender(update) elif args[0].lower() == "disasters": IMPORTED["disasters"].send_disasters(update) elif args[0].lower().startswith("stngs_"): match = re.match("stngs_(.*)", args[0].lower()) chat = dispatcher.bot.getChat(match.group(1)) if is_user_admin(chat, update.effective_user.id): send_settings(match.group(1), update.effective_user.id, False) else: send_settings(match.group(1), update.effective_user.id, True) elif args[0][1:].isdigit() and "rules" in IMPORTED: IMPORTED["rules"].send_rules(update, args[0], from_pm=True) else: first_name = update.effective_user.first_name update.effective_message.reply_photo( SAITAMA_IMG, PM_START_TEXT.format(escape_markdown(first_name), escape_markdown(context.bot.first_name)), parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup( [[ InlineKeyboardButton( text=" 👑 Summon Me ", url="t.me/MihaiFlorescuRobot?startgroup=true". format(context.bot.username)), InlineKeyboardButton( text="🎧 SUPPORT Bot", url="https://t.me/mihaiflorecubot") ], [ InlineKeyboardButton( text=" ✨ Help ", url="https://t.me/MihaiFlorescuRobot?start=help"), ], [ InlineKeyboardButton( text="📓 Starter Guide Bot ", url="https://t.me/MihaliFlorescuBot") ]])) else: update.effective_message.reply_text( "I'm awake already!\n<b>Haven't slept since:</b> <code>{}</code>". format(uptime), parse_mode=ParseMode.HTML)
def check_update(self, update): return super().check_update(update) and not ( sql.is_restr_locked(update.effective_chat.id, 'messages') and not is_user_admin(update.effective_chat, update.effective_user.id))