From 4ecf70c5908758386273f7ba42fe6a2f6bcc0244 Mon Sep 17 00:00:00 2001 From: Luke <67458252+itsLuuke@users.noreply.github.com> Date: Thu, 23 Dec 2021 09:59:57 +0200 Subject: [PATCH 001/153] cron_jobs: backup the database daily backup the database and send along with the config and the logs to the owner as a zip --- .gitignore | 1 + AstrakoBot/__init__.py | 3 + AstrakoBot/modules/cron_jobs.py | 107 ++++++++++++++++++++++++++++++++ AstrakoBot/sample_config.py | 5 +- 4 files changed, 115 insertions(+), 1 deletion(-) create mode 100644 AstrakoBot/modules/cron_jobs.py diff --git a/.gitignore b/.gitignore index f529a2ed9b..b9f1de0f09 100644 --- a/.gitignore +++ b/.gitignore @@ -153,6 +153,7 @@ dmypy.json .vscode # Others +backups/ *.mp3 *.mp4 *.otf diff --git a/AstrakoBot/__init__.py b/AstrakoBot/__init__.py index c667abbaea..c111385e23 100644 --- a/AstrakoBot/__init__.py +++ b/AstrakoBot/__init__.py @@ -83,6 +83,7 @@ WEATHER_API = os.environ.get("WEATHER_API", None) ALLOW_CHATS = os.environ.get("ALLOW_CHATS", True) + BACKUP_PASS = os.environ.get("BACKUP_PASS", True) try: BL_CHATS = set(int(x) for x in os.environ.get("BL_CHATS", "").split()) @@ -129,6 +130,7 @@ API_HASH = Config.API_HASH DB_URI = Config.SQLALCHEMY_DATABASE_URI + DB_NAME = Config.DB_NAME DONATION_LINK = Config.DONATION_LINK LOAD = Config.LOAD NO_LOAD = Config.NO_LOAD @@ -146,6 +148,7 @@ SPAMWATCH_API = Config.SPAMWATCH_API INFOPIC = Config.INFOPIC WEATHER_API = Config.WEATHER_API + BACKUP_PASS = Config.BACKUP_PASS try: BL_CHATS = set(int(x) for x in Config.BL_CHATS or []) diff --git a/AstrakoBot/modules/cron_jobs.py b/AstrakoBot/modules/cron_jobs.py new file mode 100644 index 0000000000..ffc46b6b79 --- /dev/null +++ b/AstrakoBot/modules/cron_jobs.py @@ -0,0 +1,107 @@ +import os +import shutil +import datetime +import subprocess +from time import sleep +from telegram.ext.commandhandler import CommandHandler + +from telegram.update import Update +from telegram.ext.callbackcontext import CallbackContext + +from AstrakoBot import DB_NAME, OWNER_ID, dispatcher, LOGGER as log, BACKUP_PASS +from AstrakoBot.modules.helper_funcs.chat_status import owner_plus + +@owner_plus +def backup_now(_: Update, ctx: CallbackContext): + cronjob.run(dispatcher=dispatcher) + +@owner_plus +def stop_jobs(update: Update, _: CallbackContext): + print(j.stop()) + update.effective_message.reply_text("Scheduler has been shut down") + +@owner_plus +def start_jobs(update: Update, _: CallbackContext): + print(j.start()) + update.effective_message.reply_text("Scheduler started") + +zip_pass = BACKUP_PASS + +def backup_db(_: CallbackContext): + bot = dispatcher.bot + tmpmsg = "Performing backup, Please wait..." + tmp = bot.send_message(OWNER_ID, tmpmsg) + datenow = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S") + dbbkpname = "db_{}_{}.tar".format(bot.username, datenow) + bkplocation = "backups/{}".format(datenow) + bkpcmd = "pg_dump {} --format=tar > {}/{}".format(DB_NAME, bkplocation, dbbkpname) + + if not os.path.exists(bkplocation): + os.makedirs(bkplocation) + log.info("performing db backup") + loginfo = "db backup" + term(bkpcmd, loginfo) + if not os.path.exists('{}/{}'.format(bkplocation, dbbkpname)): + bot.send_message(OWNER_ID, "An error occurred during the db backup") + tmp.edit_text("Backup Failed!") + sleep(8) + tmp.delete() + return + else: + log.info("copying config, and logs to backup location") + if os.path.exists('log.txt'): + print("logs copied") + shutil.copyfile('log.txt', '{}/log.txt'.format(bkplocation)) + if os.path.exists('AstrakoBot/config.py'): + print("config copied") + shutil.copyfile('AstrakoBot/config.py', '{}/config.py'.format(bkplocation)) + log.info("zipping the backup") + zipcmd = "zip --password '{}' {} {}/*".format(zip_pass, bkplocation, bkplocation) + zipinfo = "zipping db backup" + log.info("zip started") + term(zipcmd, zipinfo) + log.info("zip done") + sleep(1) + with open('backups/{}'.format(f'{datenow}.zip'), 'rb') as bkp: + nm = "{} backup \n".format(bot.username) + datenow + bot.send_document(OWNER_ID, + document=bkp, + caption=nm, + timeout=20 + ) + log.info("removing zipped files") + shutil.rmtree("backups/{}".format(datenow)) + log.info("backup done") + tmp.edit_text("Backup complete!") + sleep(5) + tmp.delete() + +@owner_plus +def del_bkp_fldr(update: Update, _: CallbackContext): + shutil.rmtree("backups") + update.effective_message.reply_text("'backups' directory has been purged!") + +def term(cmd, info): + process = subprocess.Popen( + cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True + ) + stdout, stderr = process.communicate() + stderr = stderr.decode() + stdout = stdout.decode() + if stdout: + log.info(f"{info} successful!") + log.info(f"{stdout}") + if stderr: + log.error(f"error while running {info}") + log.info(f"{stderr}") + +from AstrakoBot import updater as u +# run the backup daliy at 1:00 +twhen = datetime.datetime.strptime('01:00', '%H:%M').time() +j = u.job_queue +cronjob = j.run_daily(callback=backup_db, name="database backups", time=twhen) + +dispatcher.add_handler(CommandHandler("backupdb", backup_now, run_async=True)) +dispatcher.add_handler(CommandHandler("stopjobs", stop_jobs, run_async=True)) +dispatcher.add_handler(CommandHandler("startjobs", start_jobs, run_async=True)) +dispatcher.add_handler(CommandHandler("purgebackups", del_bkp_fldr, run_async=True)) diff --git a/AstrakoBot/sample_config.py b/AstrakoBot/sample_config.py index cff0ed2aa0..88c4876a77 100644 --- a/AstrakoBot/sample_config.py +++ b/AstrakoBot/sample_config.py @@ -3,6 +3,7 @@ import os + def get_user_list(config, key): with open("{}/AstrakoBot/{}".format(os.getcwd(), config), "r") as json_file: return json.load(json_file)[key] @@ -30,6 +31,7 @@ class Config(object): # RECOMMENDED SQLALCHEMY_DATABASE_URI = "something://somewhat:user@hosturl:port/databasename" # needed for any database modules + DB_NAME = "databasename" # needed for cron_jobs module, use same databasename from SQLALCHEMY_DATABASE_URI LOAD = [] NO_LOAD = ["rss", "cleaner", "connection", "math"] WEBHOOK = False @@ -68,7 +70,8 @@ class Config(object): AI_API_KEY = "awoo" # For chatbot, get one from https://coffeehouse.intellivoid.net/dashboard BL_CHATS = [] # List of groups that you want blacklisted. SPAMMERS = None - + + BACKUP_PASS = "12345" # The password used for the cron backups zip class Production(Config): LOGGER = True From 8d37b7ee8ef828324d826b776fd25a351ea546cf Mon Sep 17 00:00:00 2001 From: Alejandro Date: Thu, 23 Dec 2021 19:12:52 +0100 Subject: [PATCH 002/153] gitignore: add shell_output.txt to ignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index b9f1de0f09..3472a90e34 100644 --- a/.gitignore +++ b/.gitignore @@ -159,3 +159,4 @@ backups/ *.otf *.png *.ttf +shell_output.txt From 812a085104695cea2ed480a678052098b87d8ee6 Mon Sep 17 00:00:00 2001 From: Alejandro Date: Mon, 27 Dec 2021 17:15:17 +0100 Subject: [PATCH 003/153] ptb: telegram deprecation TelegramDeprecationWarning: `Chat.kick_member` is deprecated. Use `Chat.ban_member` instead. --- AstrakoBot/modules/antiflood.py | 6 +++--- AstrakoBot/modules/bans.py | 4 ++-- AstrakoBot/modules/blacklist.py | 4 ++-- AstrakoBot/modules/blacklist_stickers.py | 4 ++-- AstrakoBot/modules/global_bans.py | 4 ++-- AstrakoBot/modules/locks.py | 2 +- AstrakoBot/modules/remote_cmds.py | 2 +- AstrakoBot/modules/warns.py | 2 +- 8 files changed, 14 insertions(+), 14 deletions(-) diff --git a/AstrakoBot/modules/antiflood.py b/AstrakoBot/modules/antiflood.py index 1ae174ccf0..33c63cce8e 100644 --- a/AstrakoBot/modules/antiflood.py +++ b/AstrakoBot/modules/antiflood.py @@ -54,11 +54,11 @@ def check_flood(update: Update, context: CallbackContext) -> str: try: getmode, getvalue = sql.get_flood_setting(chat.id) if getmode == 1: - chat.kick_member(user.id) + chat.ban_member(user.id) execstrings = "Banned" tag = "BANNED" elif getmode == 2: - chat.kick_member(user.id) + chat.ban_member(user.id) chat.unban_member(user.id) execstrings = "Kicked" tag = "KICKED" @@ -70,7 +70,7 @@ def check_flood(update: Update, context: CallbackContext) -> str: tag = "MUTED" elif getmode == 4: bantime = extract_time(msg, getvalue) - chat.kick_member(user.id, until_date=bantime) + chat.ban_member(user.id, until_date=bantime) execstrings = "Banned for {}".format(getvalue) tag = "TBAN" elif getmode == 5: diff --git a/AstrakoBot/modules/bans.py b/AstrakoBot/modules/bans.py index 8c0da91271..4c0cf38698 100644 --- a/AstrakoBot/modules/bans.py +++ b/AstrakoBot/modules/bans.py @@ -100,7 +100,7 @@ def ban(update: Update, context: CallbackContext) -> str: log += "\nReason: {}".format(reason) try: - chat.kick_member(user_id) + chat.ban_member(user_id) if silent: if message.reply_to_message: @@ -199,7 +199,7 @@ def temp_ban(update: Update, context: CallbackContext) -> str: log += "\nReason: {}".format(reason) try: - chat.kick_member(user_id, until_date=bantime) + chat.ban_member(user_id, until_date=bantime) bot.sendMessage( chat.id, f"Banned! User {mention_html(member.user.id, html.escape(member.user.first_name))} " diff --git a/AstrakoBot/modules/blacklist.py b/AstrakoBot/modules/blacklist.py index 93967c8f4c..6634783bf7 100644 --- a/AstrakoBot/modules/blacklist.py +++ b/AstrakoBot/modules/blacklist.py @@ -387,7 +387,7 @@ def del_blacklist(update: Update, context: CallbackContext): return elif getmode == 5: message.delete() - chat.kick_member(user.id) + chat.ban_member(user.id) bot.sendMessage( chat.id, f"Banned {user.first_name} for using Blacklisted word: {trigger}", @@ -396,7 +396,7 @@ def del_blacklist(update: Update, context: CallbackContext): elif getmode == 6: message.delete() bantime = extract_time(message, value) - chat.kick_member(user.id, until_date=bantime) + chat.ban_member(user.id, until_date=bantime) bot.sendMessage( chat.id, f"Banned {user.first_name} until '{value}' for using Blacklisted word: {trigger}!", diff --git a/AstrakoBot/modules/blacklist_stickers.py b/AstrakoBot/modules/blacklist_stickers.py index 40de97a766..4ed78b0a1a 100644 --- a/AstrakoBot/modules/blacklist_stickers.py +++ b/AstrakoBot/modules/blacklist_stickers.py @@ -423,7 +423,7 @@ def del_blackliststicker(update: Update, context: CallbackContext): return elif getmode == 5: message.delete() - chat.kick_member(user.id) + chat.ban_member(user.id) bot.sendMessage( chat.id, "{} banned because using '{}' which in blacklist stickers".format( @@ -435,7 +435,7 @@ def del_blackliststicker(update: Update, context: CallbackContext): elif getmode == 6: message.delete() bantime = extract_time(message, value) - chat.kick_member(user.id, until_date=bantime) + chat.ban_member(user.id, until_date=bantime) bot.sendMessage( chat.id, "{} banned for {} because using '{}' which in blacklist stickers".format( diff --git a/AstrakoBot/modules/global_bans.py b/AstrakoBot/modules/global_bans.py index e2365ebc9a..a86bdbe575 100644 --- a/AstrakoBot/modules/global_bans.py +++ b/AstrakoBot/modules/global_bans.py @@ -414,7 +414,7 @@ def check_and_ban(update, user_id, should_message=True): sw_ban = None if sw_ban: - update.effective_chat.kick_member(user_id) + update.effective_chat.ban_member(user_id) if should_message: update.effective_message.reply_text( f"Alert: this user is globally banned.\n" @@ -427,7 +427,7 @@ def check_and_ban(update, user_id, should_message=True): return if sql.is_user_gbanned(user_id): - update.effective_chat.kick_member(user_id) + update.effective_chat.ban_member(user_id) if should_message: text = ( f"Alert: this user is globally banned.\n" diff --git a/AstrakoBot/modules/locks.py b/AstrakoBot/modules/locks.py index 17a9117f38..f8a0ad5ed2 100644 --- a/AstrakoBot/modules/locks.py +++ b/AstrakoBot/modules/locks.py @@ -426,7 +426,7 @@ def del_lockables(update: Update, context: CallbackContext): ) return - chat.kick_member(new_mem.id) + chat.ban_member(new_mem.id) send_message( update.effective_message, "Only admins are allowed to add bots in this chat! Get outta here.", diff --git a/AstrakoBot/modules/remote_cmds.py b/AstrakoBot/modules/remote_cmds.py index 50402fbf6e..66fa2b7c89 100644 --- a/AstrakoBot/modules/remote_cmds.py +++ b/AstrakoBot/modules/remote_cmds.py @@ -144,7 +144,7 @@ def rban(update: Update, context: CallbackContext): return try: - chat.kick_member(user_id) + chat.ban_member(user_id) message.reply_text("Banned from chat!") except BadRequest as excp: if excp.message == "Reply message not found": diff --git a/AstrakoBot/modules/warns.py b/AstrakoBot/modules/warns.py index 2858d32d2b..c0af55c393 100644 --- a/AstrakoBot/modules/warns.py +++ b/AstrakoBot/modules/warns.py @@ -85,7 +85,7 @@ def warn( ) else: # ban - chat.kick_member(user.id) + chat.ban_member(user.id) reply = ( f"Ban Event\n" f" • User: {mention_html(user.id, user.first_name)}\n" From 72cd5c60debb20f808cc1e4204cb2594c1220397 Mon Sep 17 00:00:00 2001 From: Cull Obsidian <77494299+cullobsidian7@users.noreply.github.com> Date: Thu, 30 Dec 2021 17:19:00 +0530 Subject: [PATCH 004/153] Solution for stickers giving same results two times (#40) * Update stickers.py * drunk while coding * Update stickers.py Always test before you push --- AstrakoBot/modules/stickers.py | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/AstrakoBot/modules/stickers.py b/AstrakoBot/modules/stickers.py index 0075deba98..39d2129ad2 100644 --- a/AstrakoBot/modules/stickers.py +++ b/AstrakoBot/modules/stickers.py @@ -39,23 +39,22 @@ def stickerid(update: Update, context: CallbackContext): def cb_sticker(update: Update, context: CallbackContext): msg = update.effective_message + stp = "" split = msg.text.split(" ", 1) if len(split) == 1: msg.reply_text("Provide some name to search for pack.") return text = requests.get(combot_stickers_url + split[1]).text soup = bs(text, "lxml") - results = soup.find_all("a", {"class": "sticker-pack__btn"}) - titles = soup.find_all("div", "sticker-pack__title") - if not results: - msg.reply_text("No results found :(.") - return - reply = f"Stickers for *{split[1]}*:" - for result, title in zip(results, titles): - link = result["href"] - reply += f"\n• [{title.get_text()}]({link})" - msg.reply_text(reply, parse_mode=ParseMode.MARKDOWN) - + results = soup.find_all("div", {"class": "sticker-pack__header"}) + for pack in results: + if pack.button: + title_ = (pack.find("div", {"class": "sticker-pack__title"})).text + link_ = (pack.a).get("href") + stp += f"\n• [{title_}]({link_})" + if not stp: + stp = "Stickers not found" + msg.reply_text(stp, parse_mode=ParseMode.MARKDOWN) def getsticker(update: Update, context: CallbackContext): bot = context.bot From 2c076173d48ad4d65b5301cacf6cc8486ff14d96 Mon Sep 17 00:00:00 2001 From: soulr344 Date: Sat, 11 Dec 2021 21:34:03 +0545 Subject: [PATCH 005/153] locks: Added anonchannel & fixes Signed-off-by: el0xren --- AstrakoBot/modules/helper_funcs/filters.py | 8 +++++ AstrakoBot/modules/locks.py | 40 +++++++++++++++++++++- AstrakoBot/modules/sql/locks_sql.py | 6 ++++ 3 files changed, 53 insertions(+), 1 deletion(-) diff --git a/AstrakoBot/modules/helper_funcs/filters.py b/AstrakoBot/modules/helper_funcs/filters.py index 035a8bec01..c892550ea3 100644 --- a/AstrakoBot/modules/helper_funcs/filters.py +++ b/AstrakoBot/modules/helper_funcs/filters.py @@ -45,3 +45,11 @@ def filter(self, message: Message): ) has_text = _HasText() + + class _IsAnonChannel(MessageFilter): + def filter(self, message: Message): + if (message.from_user and message.from_user.id == 136817688 ): + return True + return False + + is_anon_channel = _IsAnonChannel() diff --git a/AstrakoBot/modules/locks.py b/AstrakoBot/modules/locks.py index f8a0ad5ed2..da27992dad 100644 --- a/AstrakoBot/modules/locks.py +++ b/AstrakoBot/modules/locks.py @@ -1,5 +1,6 @@ import html +import telegram.ext as tg from telegram import Message, Chat, ParseMode, MessageEntity, Update from telegram import TelegramError, ChatPermissions from telegram.error import BadRequest @@ -23,6 +24,7 @@ from AstrakoBot.modules.connection import connected from AstrakoBot.modules.sql.approve_sql import is_approved from AstrakoBot.modules.helper_funcs.alternate import send_message, typing_action +from AstrakoBot.modules.helper_funcs.filters import CustomFilters ad = AlphabetDetector() @@ -40,6 +42,7 @@ "game": Filters.game, "location": Filters.location, "egame": Filters.dice, + "anonchannel": CustomFilters.is_anon_channel, "rtl": "rtl", "button": "button", "inline": "inline", @@ -93,6 +96,25 @@ REST_GROUP = 2 +class CustomCommandHandler(tg.CommandHandler): + def __init__(self, command, callback, **kwargs): + super().__init__(command, callback, **kwargs) + + def check_update(self, update): + if 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)): + args = update.effective_message.text.split()[1:] + filter_result = self.filters(update) + if filter_result: + return args, filter_result + else: + return False + + +CommandHandler = CustomCommandHandler + + # NOT ASYNC def restr_members( bot, chat_id, members, messages=False, media=False, other=False, previews=False @@ -100,15 +122,18 @@ def restr_members( for mem in members: if mem.user in SUDO_USERS: pass + elif mem.user == 777000 or mem.user == 1087968824: + pass try: bot.restrict_chat_member( chat_id, mem.user, + permissions=ChatPermissions( can_send_messages=messages, can_send_media_messages=media, can_send_other_messages=other, can_add_web_page_previews=previews, - ) + )) except TelegramError: pass @@ -218,6 +243,18 @@ def lock(update: Update, context: CallbackContext) -> str: ), ) + bot.restrict_chat_member(chat.id, int(777000), permissions=ChatPermissions( + can_send_messages=True, + can_send_media_messages=True, + can_send_other_messages=True, + can_add_web_page_previews=True)) + + bot.restrict_chat_member(chat.id, int(1087968824), permissions=ChatPermissions( + can_send_messages=True, + can_send_media_messages=True, + can_send_other_messages=True, + can_add_web_page_previews=True)) + send_message(update.effective_message, text, parse_mode="markdown") return ( "{}:" @@ -469,6 +506,7 @@ def build_lock_message(chat_id): locklist.append("button = `{}`".format(locks.button)) locklist.append("egame = `{}`".format(locks.egame)) locklist.append("inline = `{}`".format(locks.inline)) + locklist.append("anonchannel = `{}`".format(locks.anonchannel)) permissions = dispatcher.bot.get_chat(chat_id).permissions permslist.append("messages = `{}`".format(permissions.can_send_messages)) permslist.append("media = `{}`".format(permissions.can_send_media_messages)) diff --git a/AstrakoBot/modules/sql/locks_sql.py b/AstrakoBot/modules/sql/locks_sql.py index 124fdd6994..7d6c59bcf5 100644 --- a/AstrakoBot/modules/sql/locks_sql.py +++ b/AstrakoBot/modules/sql/locks_sql.py @@ -27,6 +27,7 @@ class Permissions(BASE): button = Column(Boolean, default=False) egame = Column(Boolean, default=False) inline = Column(Boolean, default=False) + anonchannel = Column(Boolean, default=False) def __init__(self, chat_id): self.chat_id = str(chat_id) # ensure string @@ -47,6 +48,7 @@ def __init__(self, chat_id): self.button = False self.egame = False self.inline = False + self.anonchannel = False def __repr__(self): return "" % self.chat_id @@ -145,6 +147,8 @@ def update_lock(chat_id, lock_type, locked): curr_perm.egame = locked elif lock_type == "inline": curr_perm.inline = locked + elif lock_type == 'anonchannel': + curr_perm.anonchannel = locked SESSION.add(curr_perm) SESSION.commit() @@ -214,6 +218,8 @@ def is_locked(chat_id, lock_type): return curr_perm.egame elif lock_type == "inline": return curr_perm.inline + elif lock_type == "anonchannel": + return curr_perm.anonchannel def is_restr_locked(chat_id, lock_type): From 7b3f35064c9f212fb91d73989788ae17afde85ab Mon Sep 17 00:00:00 2001 From: Luke Date: Wed, 29 Dec 2021 19:01:27 +0200 Subject: [PATCH 006/153] userinfo: fix `/info` when replying or invoked as a channel --- AstrakoBot/modules/helper_funcs/extraction.py | 2 + AstrakoBot/modules/userinfo.py | 257 +++++++++++------- 2 files changed, 155 insertions(+), 104 deletions(-) diff --git a/AstrakoBot/modules/helper_funcs/extraction.py b/AstrakoBot/modules/helper_funcs/extraction.py index d8b63fc199..0640b5acdd 100644 --- a/AstrakoBot/modules/helper_funcs/extraction.py +++ b/AstrakoBot/modules/helper_funcs/extraction.py @@ -12,6 +12,8 @@ def id_from_reply(message): return None, None user_id = prev_message.from_user.id res = message.text.split(None, 1) + if prev_message.sender_chat: + user_id = prev_message.sender_chat.id if len(res) < 2: return user_id, "" return user_id, res[1] diff --git a/AstrakoBot/modules/userinfo.py b/AstrakoBot/modules/userinfo.py index 147009b44b..03bf826cb2 100644 --- a/AstrakoBot/modules/userinfo.py +++ b/AstrakoBot/modules/userinfo.py @@ -3,6 +3,7 @@ import os import requests +from telegram.user import User from telethon.tl.functions.channels import GetFullChannelRequest from telethon.tl.types import ChannelParticipantsAdmins from telethon import events @@ -35,7 +36,6 @@ from AstrakoBot.modules.helper_funcs.misc import delete from AstrakoBot import telethn as AstrakoBotTelethonClient, SUDO_USERS, SUPPORT_USERS - def get_id(update: Update, context: CallbackContext): bot, args = context.bot, context.args message = update.effective_message @@ -131,11 +131,27 @@ def info(update: Update, context: CallbackContext): chat = update.effective_chat user_id = extract_user(update.effective_message, args) - if user_id: + if user_id and int(user_id) != 777000 and int(user_id) != 1087968824: user = bot.get_chat(user_id) + elif user_id and int(user_id) == 777000: + message.reply_text( + "This is Telegram. Unless you manually entered this reserved account's ID, it is likely a old broadcast from a linked channel." + ) + return + + elif user_id and int(user_id) == 1087968824: + message.reply_text( + "This is Group Anonymous Bot. Unless you manually entered this reserved account's ID, it is likely a broadcast from a linked channel or anonymously sent message." + ) + return + elif not message.reply_to_message and not args: - user = message.from_user + user = ( + message.sender_chat + if message.sender_chat is not None + else message.from_user + ) elif not message.reply_to_message and ( not args @@ -157,128 +173,161 @@ def info(update: Update, context: CallbackContext): else: return + + rep = message.reply_text("Appraising...", parse_mode=ParseMode.HTML) + + if hasattr(user, 'type') and user.type != "private": + text = ( + f"Chat Info: " + f"\nID: {user.id}" + f"\nTitle: {user.title}" + ) + if user.username: + text += f"\nUsername: @{html.escape(user.username)}" + text += f"\nChat Type: {user.type.capitalize()}" + + if INFOPIC: + try: + profile = bot.getChat(user.id).photo + _file = bot.get_file(profile["big_file_id"]) + _file.download(f"{user.id}.png") + + delmsg = message.reply_document( + document=open(f"{user.id}.png", "rb"), + caption=(text), + parse_mode=ParseMode.HTML, + ) - rep = message.reply_text("Appraising...", parse_mode=ParseMode.HTML) + os.remove(f"{user.id}.png") + # Incase chat don't have profile pic, send normal text + except: + delmsg = message.reply_text( + text, parse_mode=ParseMode.HTML, disable_web_page_preview=True + ) - text = ( - f"User info:\n" - f"ID: {user.id}\n" - f"First Name: {html.escape(user.first_name)}" - ) + else: + delmsg = message.reply_text( + text, parse_mode=ParseMode.HTML, disable_web_page_preview=True + ) - if user.last_name: - text += f"\nLast Name: {html.escape(user.last_name)}" + else: + text = ( + f"User info:\n" + f"ID: {user.id}\n" + f"First Name: {mention_html(user.id, user.first_name or 'None')}" + ) - if user.username: - text += f"\nUsername: @{html.escape(user.username)}" + if user.last_name: + text += f"\nLast Name: {html.escape(user.last_name)}" - text += f"\nPermalink: {mention_html(user.id, 'link')}" + if user.username: + text += f"\nUsername: @{html.escape(user.username)}" - if chat.type != "private" and user_id != bot.id: - _stext = "\nPresence: {}" + text += f"\nPermalink: {mention_html(user.id, 'link')}" - afk_st = is_afk(user.id) - if afk_st: - text += _stext.format("AFK") - else: - status = status = bot.get_chat_member(chat.id, user.id).status - if status: - if status == "left": - text += _stext.format("Not here") - if status == "kicked": - text += _stext.format("Banned") - elif status == "member": - text += _stext.format("Detected") - elif status in {"administrator", "creator"}: - text += _stext.format("Admin") + if chat.type != "private" and user_id != bot.id: + _stext = "\nPresence: {}" - try: - spamwtc = sw.get_ban(int(user.id)) - if spamwtc: - text += "\n\nThis person is Spamwatched!" - text += f"\nReason:
{spamwtc.reason}
" - text += "\nAppeal at @SpamWatchSupport" - else: - pass - except: - pass # don't crash if api is down somehow... - - disaster_level_present = False - - if user.id == OWNER_ID: - text += "\n\nUser level: god" - disaster_level_present = True - elif user.id in DEV_USERS: - text += "\n\nUser level: developer" - disaster_level_present = True - elif user.id in SUDO_USERS: - text += "\n\nUser level: sudo" - disaster_level_present = True - elif user.id in SUPPORT_USERS: - text += "\n\nUser level: support" - disaster_level_present = True - elif user.id in WHITELIST_USERS: - text += "\n\nUser level: whitelist" - disaster_level_present = True - - # if disaster_level_present: - # text += ' [?]'.format( - # bot.username) + afk_st = is_afk(user.id) + if afk_st: + text += _stext.format("AFK") + else: + status = bot.get_chat_member(chat.id, user.id).status + if status: + if status == "left": + text += _stext.format("Not here") + if status == "kicked": + text += _stext.format("Banned") + elif status == "member": + text += _stext.format("Detected") + elif status in {"administrator", "creator"}: + text += _stext.format("Admin") - try: - user_member = chat.get_member(user.id) - if user_member.status == "administrator": - result = requests.post( - f"https://api.telegram.org/bot{TOKEN}/getChatMember?chat_id={chat.id}&user_id={user.id}" - ) - result = result.json()["result"] - if "custom_title" in result.keys(): - custom_title = result["custom_title"] - text += f"\n\nTitle:\n{custom_title}" - except BadRequest: - pass - - for mod in USER_INFO: try: - mod_info = mod.__user_info__(user.id).strip() - except TypeError: - mod_info = mod.__user_info__(user.id, chat.id).strip() - if mod_info: - text += "\n\n" + mod_info + spamwtc = sw.get_ban(int(user.id)) + if spamwtc: + text += "\n\nThis person is Spamwatched!" + text += f"\nReason:
{spamwtc.reason}
" + text += "\nAppeal at @SpamWatchSupport" + else: + pass + except: + pass # don't crash if api is down somehow... + + disaster_level_present = False + + if user.id == OWNER_ID: + text += "\n\nUser level: god" + disaster_level_present = True + elif user.id in DEV_USERS: + text += "\n\nUser level: developer" + disaster_level_present = True + elif user.id in SUDO_USERS: + text += "\n\nUser level: sudo" + disaster_level_present = True + elif user.id in SUPPORT_USERS: + text += "\n\nUser level: support" + disaster_level_present = True + elif user.id in WHITELIST_USERS: + text += "\n\nUser level: whitelist" + disaster_level_present = True + + # if disaster_level_present: + # text += ' [?]'.format( + # bot.username) - if INFOPIC: try: - profile = context.bot.get_user_profile_photos(user.id).photos[0][-1] - _file = bot.get_file(profile["file_id"]) - _file.download(f"{user.id}.png") + user_member = chat.get_member(user.id) + if user_member.status == "administrator": + result = requests.post( + f"https://api.telegram.org/bot{TOKEN}/getChatMember?chat_id={chat.id}&user_id={user.id}" + ) + result = result.json()["result"] + if "custom_title" in result.keys(): + custom_title = result["custom_title"] + text += f"\n\nTitle:\n{custom_title}" + except BadRequest: + pass - delmsg = message.reply_document( - document=open(f"{user.id}.png", "rb"), - caption=(text), - parse_mode=ParseMode.HTML, - ) + for mod in USER_INFO: + try: + mod_info = mod.__user_info__(user.id).strip() + except TypeError: + mod_info = mod.__user_info__(user.id, chat.id).strip() + if mod_info: + text += "\n\n" + mod_info + + if INFOPIC: + try: + profile = context.bot.get_user_profile_photos(user.id).photos[0][-1] + _file = bot.get_file(profile["file_id"]) + _file.download(f"{user.id}.png") + + delmsg = message.reply_document( + document=open(f"{user.id}.png", "rb"), + caption=(text), + parse_mode=ParseMode.HTML, + ) + + os.remove(f"{user.id}.png") + # Incase user don't have profile pic, send normal text + except IndexError: + delmsg = message.reply_text( + text, parse_mode=ParseMode.HTML, disable_web_page_preview=True + ) - os.remove(f"{user.id}.png") - # Incase user don't have profile pic, send normal text - except IndexError: + else: delmsg = message.reply_text( text, parse_mode=ParseMode.HTML, disable_web_page_preview=True - ) - - else: - delmsg = message.reply_text( - text, parse_mode=ParseMode.HTML, disable_web_page_preview=True - ) - + ) + rep.delete() - - + cleartime = get_clearcmd(chat.id, "info") - + if cleartime: context.dispatcher.run_async(delete, delmsg, cleartime.time) - def about_me(update: Update, context: CallbackContext): bot, args = context.bot, context.args message = update.effective_message From b17564129f8ba82f0bc5dc851929154c47a32917 Mon Sep 17 00:00:00 2001 From: Alejandro Date: Mon, 3 Jan 2022 15:45:39 +0100 Subject: [PATCH 007/153] feds: telegram deprecation `bot.kick_chat_member` is deprecated. Use `bot.ban_chat_member` instead --- AstrakoBot/modules/feds.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/AstrakoBot/modules/feds.py b/AstrakoBot/modules/feds.py index cafe5fc48b..0ac68600b0 100644 --- a/AstrakoBot/modules/feds.py +++ b/AstrakoBot/modules/feds.py @@ -753,7 +753,7 @@ def fed_ban(update: Update, context: CallbackContext): "\nUser ID: {}" \ "\nReason: {}".format(fed_name, mention_html(user.id, user.first_name), user_target, fban_user_id, reason), parse_mode="HTML") """ - bot.kick_chat_member(fedschat, fban_user_id) + bot.ban_chat_member(fedschat, fban_user_id) except BadRequest as excp: if excp.message in FBAN_ERRORS: try: @@ -793,7 +793,7 @@ def fed_ban(update: Update, context: CallbackContext): all_fedschat = sql.all_fed_chats(fedsid) for fedschat in all_fedschat: try: - bot.kick_chat_member(fedschat, fban_user_id) + bot.ban_chat_member(fedschat, fban_user_id) except BadRequest as excp: if excp.message in FBAN_ERRORS: try: @@ -921,7 +921,7 @@ def fed_ban(update: Update, context: CallbackContext): "\nUser ID: {}" \ "\nReason: {}".format(fed_name, mention_html(user.id, user.first_name), user_target, fban_user_id, reason), parse_mode="HTML") """ - bot.kick_chat_member(fedschat, fban_user_id) + bot.ban_chat_member(fedschat, fban_user_id) except BadRequest as excp: if excp.message in FBAN_ERRORS: pass @@ -953,7 +953,7 @@ def fed_ban(update: Update, context: CallbackContext): all_fedschat = sql.all_fed_chats(fedsid) for fedschat in all_fedschat: try: - bot.kick_chat_member(fedschat, fban_user_id) + bot.ban_chat_member(fedschat, fban_user_id) except BadRequest as excp: if excp.message in FBAN_ERRORS: try: @@ -2284,7 +2284,7 @@ def welcome_fed(update: Update, context: CallbackContext): update.effective_message.reply_text( "This user is banned in the current federation! I will remove him." ) - bot.kick_chat_member(chat.id, user.id) + bot.ban_chat_member(chat.id, user.id) return True else: return False From 6cd52935f6ff404aa38a12a2eb58e31f64be8c7c Mon Sep 17 00:00:00 2001 From: Sayan Biswas Date: Mon, 3 Jan 2022 19:46:39 +0100 Subject: [PATCH 008/153] feds: fedadmins: handle deleted accounts --- AstrakoBot/modules/feds.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/AstrakoBot/modules/feds.py b/AstrakoBot/modules/feds.py index 0ac68600b0..3418da436f 100644 --- a/AstrakoBot/modules/feds.py +++ b/AstrakoBot/modules/feds.py @@ -538,8 +538,8 @@ def fed_admin(update: Update, context: CallbackContext): owner = bot.get_chat(info["owner"]) try: owner_name = owner.first_name + " " + owner.last_name - except: - owner_name = owner.first_name + except BaseException: + owner_name = owner.first_name or 'Deleted' text += " • {}\n".format(mention_html(owner.id, owner_name)) members = sql.all_fed_members(fed_id) @@ -549,6 +549,7 @@ def fed_admin(update: Update, context: CallbackContext): text += "\n🔱 Admin:\n" for x in members: user = bot.get_chat(x) + name = user.first_name or 'Deleted' text += " • {}\n".format(mention_html(user.id, user.first_name)) update.effective_message.reply_text(text, parse_mode=ParseMode.HTML) From f5db48c3e437675a84934c6c051d8d3ea630fd8f Mon Sep 17 00:00:00 2001 From: Alejandro Date: Mon, 3 Jan 2022 23:09:40 +0100 Subject: [PATCH 009/153] notes: minor fixes and formatting --- AstrakoBot/modules/notes.py | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/AstrakoBot/modules/notes.py b/AstrakoBot/modules/notes.py index cb99136854..9f36455d70 100644 --- a/AstrakoBot/modules/notes.py +++ b/AstrakoBot/modules/notes.py @@ -81,13 +81,12 @@ def get(update: Update, context: CallbackContext, notename, show_none=True, no_f ) except BadRequest as excp: if excp.message == "Message to forward not found": - message.reply_text( - "This message seems to have been lost - I'll remove it " - "from your notes list." - ) - sql.rm_note(note_chat_id, notename) - else: raise + message.reply_text( + "This message seems to have been lost - I'll remove it " + "from your notes list." + ) + sql.rm_note(note_chat_id, notename) else: try: bot.forward_message( @@ -95,15 +94,14 @@ def get(update: Update, context: CallbackContext, notename, show_none=True, no_f ) except BadRequest as excp: if excp.message == "Message to forward not found": - message.reply_text( - "Looks like the original sender of this note has deleted " - "their message - sorry! Get your bot admin to start using a " - "message dump to avoid this. I'll remove this note from " - "your saved notes." - ) - sql.rm_note(note_chat_id, notename) - else: raise + message.reply_text( + "Looks like the original sender of this note has deleted " + "their message - sorry! Get your bot admin to start using a " + "message dump to avoid this. I'll remove this note from " + "your saved notes." + ) + sql.rm_note(note_chat_id, notename) else: VALID_NOTE_FORMATTERS = [ "first", @@ -309,7 +307,10 @@ def slash_get(update: Update, context: CallbackContext): def save(update: Update, context: CallbackContext): chat_id = update.effective_chat.id msg = update.effective_message # type: Optional[Message] - + m = msg.text.split(' ', 1) + if len(m) == 1: + msg.reply_text("Provide something to save") + return note_name, text, data_type, content, buttons = get_note_type(msg) note_name = note_name.lower() if data_type is None: From 3460b38a2233931fa9a6e202c37d3a4376d7a115 Mon Sep 17 00:00:00 2001 From: Alejandro Date: Tue, 4 Jan 2022 08:10:34 +0100 Subject: [PATCH 010/153] welcome: minor fix and formatting --- AstrakoBot/modules/welcome.py | 32 +++++++++----------------------- 1 file changed, 9 insertions(+), 23 deletions(-) diff --git a/AstrakoBot/modules/welcome.py b/AstrakoBot/modules/welcome.py index fb64ad4c8f..ab1b94a52c 100644 --- a/AstrakoBot/modules/welcome.py +++ b/AstrakoBot/modules/welcome.py @@ -260,32 +260,18 @@ def new_member(update: Update, context: CallbackContext): # Welcome yourself elif new_mem.id == bot.id: - creator = None - for x in bot.bot.get_chat_administrators(update.effective_chat.id): - if x.status == "creator": - creator = x.user - break - if creator: - bot.send_message( - JOIN_LOGGER, - "#NEW_GROUP\nGroup name: {}\nID: {}\nCreator: {}".format( - html.escape(chat.title), chat.id, html.escape(creator) - ), - parse_mode=ParseMode.HTML, - ) - else: - bot.send_message( - JOIN_LOGGER, - "#NEW_GROUP\nGroup name: {}\nID: {}".format( - html.escape(chat.title), chat.id - ), - parse_mode=ParseMode.HTML, - ) update.effective_message.reply_text( - "Hello everybody!", reply_to_message_id=reply + "Thanks for adding me! Join https://t.me/AstrakoBotSupport for support.", + reply_to_message_id=reply, ) continue - + bot.send_message( + JOIN_LOGGER, + "#NEW_GROUP\nGroup name: {}\nID: {}".format( + html.escape(chat.title), chat.id + ), + parse_mode=ParseMode.HTML, + ) else: buttons = sql.get_welc_buttons(chat.id) keyb = build_keyboard(buttons) From 263c0f9bb1f11a950c1321cafeb604f9b96dd786 Mon Sep 17 00:00:00 2001 From: Alejandro Date: Tue, 4 Jan 2022 08:26:12 +0100 Subject: [PATCH 011/153] requirements: bump ptb version to 3.10 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 0b456e4a9f..60473c1cf5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ lxml beautifulsoup4 requests sqlalchemy -python-telegram-bot==13.9 +python-telegram-bot==13.10 psycopg2-binary feedparser pynewtonmath From d5e51068eb9f91d988dfeb748d54ae51537d094b Mon Sep 17 00:00:00 2001 From: Alejandro Date: Tue, 4 Jan 2022 08:35:16 +0100 Subject: [PATCH 012/153] README: update ptb badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5bd687fd44..6de8414867 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@

- +

From bfdbb0a5a536b0419587471be14afcc8388f5564 Mon Sep 17 00:00:00 2001 From: Alejandro <31514786+Astrako@users.noreply.github.com> Date: Wed, 5 Jan 2022 09:10:27 +0100 Subject: [PATCH 013/153] locks: add missing context for bot --- AstrakoBot/modules/locks.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AstrakoBot/modules/locks.py b/AstrakoBot/modules/locks.py index da27992dad..d5d0ffa8ea 100644 --- a/AstrakoBot/modules/locks.py +++ b/AstrakoBot/modules/locks.py @@ -243,13 +243,13 @@ def lock(update: Update, context: CallbackContext) -> str: ), ) - bot.restrict_chat_member(chat.id, int(777000), permissions=ChatPermissions( + context.bot.restrict_chat_member(chat.id, int(777000), permissions=ChatPermissions( can_send_messages=True, can_send_media_messages=True, can_send_other_messages=True, can_add_web_page_previews=True)) - bot.restrict_chat_member(chat.id, int(1087968824), permissions=ChatPermissions( + context.bot.restrict_chat_member(chat.id, int(1087968824), permissions=ChatPermissions( can_send_messages=True, can_send_media_messages=True, can_send_other_messages=True, From 9f9bb9f60432e6f1d178ff2d787e93dae5556a54 Mon Sep 17 00:00:00 2001 From: Astrako Date: Sun, 9 Jan 2022 18:25:20 +0100 Subject: [PATCH 014/153] welcome: disable web_page_preview when bot is added to group --- AstrakoBot/modules/welcome.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/AstrakoBot/modules/welcome.py b/AstrakoBot/modules/welcome.py index ab1b94a52c..ebbb17aa38 100644 --- a/AstrakoBot/modules/welcome.py +++ b/AstrakoBot/modules/welcome.py @@ -263,8 +263,9 @@ def new_member(update: Update, context: CallbackContext): update.effective_message.reply_text( "Thanks for adding me! Join https://t.me/AstrakoBotSupport for support.", reply_to_message_id=reply, + disable_web_page_preview=True, ) - continue + bot.send_message( JOIN_LOGGER, "#NEW_GROUP\nGroup name: {}\nID: {}".format( @@ -272,6 +273,7 @@ def new_member(update: Update, context: CallbackContext): ), parse_mode=ParseMode.HTML, ) + continue else: buttons = sql.get_welc_buttons(chat.id) keyb = build_keyboard(buttons) From 5fb31de94d35d0787cf1acaa2e922a2707b0e221 Mon Sep 17 00:00:00 2001 From: Astrako Date: Sun, 9 Jan 2022 20:17:52 +0100 Subject: [PATCH 015/153] user_info: add missingh run_async for about_bio --- AstrakoBot/modules/userinfo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/userinfo.py b/AstrakoBot/modules/userinfo.py index 03bf826cb2..e8223f928f 100644 --- a/AstrakoBot/modules/userinfo.py +++ b/AstrakoBot/modules/userinfo.py @@ -527,7 +527,7 @@ def __gdpr__(user_id): """ SET_BIO_HANDLER = DisableAbleCommandHandler("setbio", set_about_bio, run_async=True) -GET_BIO_HANDLER = DisableAbleCommandHandler("bio", about_bio) +GET_BIO_HANDLER = DisableAbleCommandHandler("bio", about_bio, run_async=True) STATS_HANDLER = CommandHandler("stats", stats, run_async=True) ID_HANDLER = DisableAbleCommandHandler("id", get_id, run_async=True) From 68590f3eeb9fecb0672fea3fca9b9ff3e028f81c Mon Sep 17 00:00:00 2001 From: Astrako Date: Sun, 9 Jan 2022 20:19:21 +0100 Subject: [PATCH 016/153] user_info: ugly workaround to fix getting about info from user --- AstrakoBot/modules/userinfo.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/AstrakoBot/modules/userinfo.py b/AstrakoBot/modules/userinfo.py index e8223f928f..536c1aa219 100644 --- a/AstrakoBot/modules/userinfo.py +++ b/AstrakoBot/modules/userinfo.py @@ -297,6 +297,8 @@ def info(update: Update, context: CallbackContext): if mod_info: text += "\n\n" + mod_info + text += "\n\n" + biome(user.id) + if INFOPIC: try: profile = context.bot.get_user_profile_photos(user.id).photos[0][-1] @@ -483,7 +485,7 @@ def gdpr(update: Update, context: CallbackContext): parse_mode=ParseMode.MARKDOWN) -def __user_info__(user_id): +def biome(user_id): bio = html.escape(sql.get_user_bio(user_id) or "") me = html.escape(sql.get_user_me_info(user_id) or "") result = "" From 32f51f4180e64726a18831da31f94bc8c1e246ab Mon Sep 17 00:00:00 2001 From: Astrako Date: Fri, 14 Jan 2022 16:38:01 +0100 Subject: [PATCH 017/153] android: fix orangefox mirror again --- AstrakoBot/modules/android.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/android.py b/AstrakoBot/modules/android.py index b963f17d39..47e7341138 100644 --- a/AstrakoBot/modules/android.py +++ b/AstrakoBot/modules/android.py @@ -240,7 +240,7 @@ def orangefox(update: Update, context: CallbackContext): version = page["version"] changelog = page["changelog"][0] size = str(round(float(page["size"]) / 1024 / 1024, 1)) + "MB" - dl_link = page["mirrors"]["NL"] + dl_link = page["mirrors"]["US"] date = datetime.fromtimestamp(page["date"]) md5 = page["md5"] msg = f"*Latest OrangeFox Recovery for the {full_name}*\n\n" From 0453b17fe2041b2e8e0fd629ec62a64481e358f6 Mon Sep 17 00:00:00 2001 From: Gabriel <88463214+Gabriel2392@users.noreply.github.com> Date: Sat, 15 Jan 2022 15:54:13 -0300 Subject: [PATCH 018/153] muting: fixup problem while checking if user is muted (#41) Telegram returns False if user is restricted, and None if user is not restricted (maybe True in some scenarios?) however the problem is that AstrakoBot keeps unmuting even if the user is not muted, tested this commit locally and everything works as intended. --- AstrakoBot/modules/muting.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/AstrakoBot/modules/muting.py b/AstrakoBot/modules/muting.py index 09ab544ea4..32163f0ac5 100644 --- a/AstrakoBot/modules/muting.py +++ b/AstrakoBot/modules/muting.py @@ -121,10 +121,10 @@ def unmute(update: Update, context: CallbackContext) -> str: if member.status != "kicked" and member.status != "left": if ( - member.can_send_messages - and member.can_send_media_messages - and member.can_send_other_messages - and member.can_add_web_page_previews + member.can_send_messages is not False + and member.can_send_media_messages is not False + and member.can_send_other_messages is not False + and member.can_add_web_page_previews is not False ): message.reply_text("This user already has the right to speak.") else: From 957c91a94b974a5fca0616eb21ba9144bff94765 Mon Sep 17 00:00:00 2001 From: el0xren <66721313+el0xren@users.noreply.github.com> Date: Sun, 23 Jan 2022 20:27:53 +0200 Subject: [PATCH 019/153] Must provide reason for fbanning & gbanning. (#42) * global_bans: Must provide a reason for gbanning * feds: Must provide a reason for gbanning --- AstrakoBot/modules/feds.py | 6 ++++++ AstrakoBot/modules/global_bans.py | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/AstrakoBot/modules/feds.py b/AstrakoBot/modules/feds.py index 3418da436f..a83c4e59d8 100644 --- a/AstrakoBot/modules/feds.py +++ b/AstrakoBot/modules/feds.py @@ -592,6 +592,12 @@ def fed_ban(update: Update, context: CallbackContext): message.reply_text("You don't seem to be referring to a user") return + if not reason: + message.reply_text( + "You must provide a reason!" + ) + return + if user_id == bot.id: message.reply_text( "What is funnier than kicking the group creator? Self sacrifice." diff --git a/AstrakoBot/modules/global_bans.py b/AstrakoBot/modules/global_bans.py index a86bdbe575..ee350dd5c9 100644 --- a/AstrakoBot/modules/global_bans.py +++ b/AstrakoBot/modules/global_bans.py @@ -87,6 +87,12 @@ def gban(update: Update, context: CallbackContext): ) return + if not reason: + message.reply_text( + "You must provide a reason!" + ) + return + if int(user_id) in DEV_USERS: message.reply_text("This is a developer user\nI can't act against our own.") return From a1c9dcd491388597ed112665d2ea8b6279a6a601 Mon Sep 17 00:00:00 2001 From: Luke <67458252+itsLuuke@users.noreply.github.com> Date: Sun, 23 Jan 2022 20:28:09 +0200 Subject: [PATCH 020/153] super_users: fix bug for sudos (#43) sudos can't use `/addsupport` or `/addwhitelist` on other sudos --- AstrakoBot/modules/super_users.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/AstrakoBot/modules/super_users.py b/AstrakoBot/modules/super_users.py index 15b2d1b476..903af588af 100644 --- a/AstrakoBot/modules/super_users.py +++ b/AstrakoBot/modules/super_users.py @@ -133,9 +133,13 @@ def addsupport( data = json.load(infile) if user_id in SUDO_USERS: - rt += "Demoted from sudo to support user" - data["sudos"].remove(user_id) - SUDO_USERS.remove(user_id) + if user.id in DEV_USERS: + rt += "Demoted from sudo to support user" + data["sudos"].remove(user_id) + SUDO_USERS.remove(user_id) + else: + message.reply_text("This user is already sudo") + return "" if user_id in SUPPORT_USERS: message.reply_text("This user is already sudo") @@ -188,9 +192,13 @@ def addwhitelist(update: Update, context: CallbackContext) -> str: data = json.load(infile) if user_id in SUDO_USERS: - rt += "Demoted from sudo to whitelist user" - data["sudos"].remove(user_id) - SUDO_USERS.remove(user_id) + if user.id in DEV_USERS: + rt += "Demoted from sudo to whitelist user" + data["sudos"].remove(user_id) + SUDO_USERS.remove(user_id) + else: + message.reply_text("This user is already sudo") + return "" if user_id in SUPPORT_USERS: rt += "Demoted from support user to whitelist user" From 3c995179e9fbb4e6baaa1cbe19d58f6098fa7229 Mon Sep 17 00:00:00 2001 From: Luke <67458252+itsLuuke@users.noreply.github.com> Date: Sun, 23 Jan 2022 20:50:26 +0200 Subject: [PATCH 021/153] super_users: bug fixes (#44) fix bug while adding dev as whitelist or support --- AstrakoBot/modules/super_users.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/AstrakoBot/modules/super_users.py b/AstrakoBot/modules/super_users.py index 903af588af..9f051946cc 100644 --- a/AstrakoBot/modules/super_users.py +++ b/AstrakoBot/modules/super_users.py @@ -132,6 +132,10 @@ def addsupport( with open(ELEVATED_USERS_FILE, "r") as infile: data = json.load(infile) + if user_id in DEV_USERS: + message.reply_text("Huh? he is more than support!") + return "" + if user_id in SUDO_USERS: if user.id in DEV_USERS: rt += "Demoted from sudo to support user" @@ -191,6 +195,10 @@ def addwhitelist(update: Update, context: CallbackContext) -> str: with open(ELEVATED_USERS_FILE, "r") as infile: data = json.load(infile) + if user_id in DEV_USERS: + message.reply_text("Huh? he is more than whitelist!") + return "" + if user_id in SUDO_USERS: if user.id in DEV_USERS: rt += "Demoted from sudo to whitelist user" From c34118b40d1c956db48639161f088a1894206eb0 Mon Sep 17 00:00:00 2001 From: Astrako Date: Thu, 3 Feb 2022 08:41:58 +0100 Subject: [PATCH 022/153] requirements: bump ptb version to 3.11 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 60473c1cf5..bd1443e840 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ lxml beautifulsoup4 requests sqlalchemy -python-telegram-bot==13.10 +python-telegram-bot==13.11 psycopg2-binary feedparser pynewtonmath From 917f1a089ca835a44401b02f775159484b743fb9 Mon Sep 17 00:00:00 2001 From: Astrako Date: Thu, 3 Feb 2022 08:42:15 +0100 Subject: [PATCH 023/153] README: update ptb badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6de8414867..19c4c1d9d0 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@

- +

From 509845c33bf42170f88826b645b8a312b67c2a21 Mon Sep 17 00:00:00 2001 From: Luke Date: Wed, 9 Feb 2022 21:49:58 +0200 Subject: [PATCH 024/153] welcome: fix getting the noformat version of the welcome-goodbye and minor code formatting --- AstrakoBot/modules/welcome.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/AstrakoBot/modules/welcome.py b/AstrakoBot/modules/welcome.py index ebbb17aa38..af0490de44 100644 --- a/AstrakoBot/modules/welcome.py +++ b/AstrakoBot/modules/welcome.py @@ -618,7 +618,7 @@ def welcome(update: Update, context: CallbackContext): chat = update.effective_chat # if no args, show current replies. if not args or args[0].lower() == "noformat": - noformat = True + noformat = bool(args and args[0].lower() == "noformat") pref, welcome_m, cust_content, welcome_type = sql.get_welc_pref(chat.id) update.effective_message.reply_text( f"This chat has it's welcome setting set to: `{pref}`.\n" @@ -626,7 +626,7 @@ def welcome(update: Update, context: CallbackContext): parse_mode=ParseMode.MARKDOWN, ) - if welcome_type == sql.Types.BUTTON_TEXT or welcome_type == sql.Types.TEXT: + if welcome_type in [sql.Types.BUTTON_TEXT, sql.Types.TEXT]: buttons = sql.get_welc_buttons(chat.id) if noformat: welcome_m += revert_buttons(buttons) @@ -680,7 +680,7 @@ def goodbye(update: Update, context: CallbackContext): chat = update.effective_chat if not args or args[0] == "noformat": - noformat = True + noformat = bool(args and args[0].lower() == "noformat") pref, goodbye_m, goodbye_type = sql.get_gdbye_pref(chat.id) update.effective_message.reply_text( f"This chat has it's goodbye setting set to: `{pref}`.\n" @@ -700,14 +700,13 @@ def goodbye(update: Update, context: CallbackContext): send(update, goodbye_m, keyboard, sql.DEFAULT_GOODBYE) - else: - if noformat: - ENUM_FUNC_MAP[goodbye_type](chat.id, goodbye_m) + elif noformat: + ENUM_FUNC_MAP[goodbye_type](chat.id, goodbye_m) - else: - ENUM_FUNC_MAP[goodbye_type]( - chat.id, goodbye_m, parse_mode=ParseMode.MARKDOWN - ) + else: + ENUM_FUNC_MAP[goodbye_type]( + chat.id, goodbye_m, parse_mode=ParseMode.MARKDOWN + ) elif len(args) >= 1: if args[0].lower() in ("on", "yes"): From e6943ecafbb9a42736b0534f47f7952a7378ab61 Mon Sep 17 00:00:00 2001 From: Astrako Date: Thu, 17 Feb 2022 11:49:07 +0100 Subject: [PATCH 025/153] admin: remove bots from list and fix creator not being showed --- AstrakoBot/modules/admin.py | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/AstrakoBot/modules/admin.py b/AstrakoBot/modules/admin.py index a3493d462a..a5d09ed9c8 100644 --- a/AstrakoBot/modules/admin.py +++ b/AstrakoBot/modules/admin.py @@ -399,8 +399,6 @@ def adminlist(update: Update, context: CallbackContext): administrators = bot.getChatAdministrators(chat_id) text = "Admins in {}:".format(html.escape(update.effective_chat.title)) - bot_admin_list = [] - for admin in administrators: user = admin.user status = admin.status @@ -415,19 +413,12 @@ def adminlist(update: Update, context: CallbackContext): ) ) - if user.is_bot: - bot_admin_list.append(name) - administrators.remove(admin) - continue - - # if user.username: - # name = escape_markdown("@" + user.username) if status == "creator": text += "\n 👑 Creator:" text += "\n{}\n".format(name) - if custom_title: - text += f" ┗━ {html.escape(custom_title)}\n" + # if user.username: + # name = escape_markdown("@" + user.username) text += "\n🔱 Admins:" @@ -475,10 +466,6 @@ def adminlist(update: Update, context: CallbackContext): text += "\n{}".format(admin) text += "\n" - text += "\n🤖 Bots:" - for each_bot in bot_admin_list: - text += "\n{}".format(each_bot) - try: msg.edit_text(text, parse_mode=ParseMode.HTML) except BadRequest: # if original message is deleted From d282d0c63bece2de651cbeb77ee59a9532449287 Mon Sep 17 00:00:00 2001 From: Aaisalu <94603696+aaisalu@users.noreply.github.com> Date: Tue, 22 Feb 2022 18:25:11 +0545 Subject: [PATCH 026/153] Added Air Quality Index (#45) Co-authored-by: Zeron --- AstrakoBot/modules/weather.py | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/AstrakoBot/modules/weather.py b/AstrakoBot/modules/weather.py index 4e03187538..be67ad869e 100644 --- a/AstrakoBot/modules/weather.py +++ b/AstrakoBot/modules/weather.py @@ -125,6 +125,33 @@ def sun(unix): ) return xx + ## AirQuality + air_url = f"http://api.openweathermap.org/data/2.5/air_pollution?lat={latitude}&lon={longitude}&appid={APPID}" + air_data = json.loads(get(air_url).text) + + into_dicts = air_data['list'][0] + air_qi = into_dicts['main'] + aqi = int(air_qi['aqi']) + + + ## Pollutant concentration + # airinfo = into_dicts['components'] + # components_co = airinfo["co"] + # components_no = airinfo["no"] + + + def air_qual(aqin): + if aqin == 1: + return "Good" + elif aqin == 2: + return "Fair" + elif aqin == 3: + return 'Moderate' + elif aqin == 4: + return 'Poor' + elif aqin == 5: + return "Very Poor" + msg = f"*{cityname}, {fullc_n}*\n" msg += f"`Longitude: {longitude}`\n" msg += f"`Latitude: {latitude}`\n\n" @@ -135,8 +162,9 @@ def sun(unix): msg += f"• **Humidity:** `{humidity}%`\n" msg += f"• **Wind:** `{kmph[0]} km/h`\n" msg += f"• **Sunrise**: `{sun(sunrise)}`\n" - msg += f"• **Sunset**: `{sun(sunset)}`" - + msg += f"• **Sunset**: `{sun(sunset)}`\n" + msg += f"• **Air Quality**: `{air_qual(aqi)}`" + else: msg = "Please specify a city or country" From d4d406e9ed9696446b95441ffd894f655fa03daa Mon Sep 17 00:00:00 2001 From: Astrako Date: Fri, 25 Mar 2022 18:43:24 +0100 Subject: [PATCH 027/153] feds: add except when chat is not found for fedadmins --- AstrakoBot/modules/feds.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/AstrakoBot/modules/feds.py b/AstrakoBot/modules/feds.py index a83c4e59d8..5356b63989 100644 --- a/AstrakoBot/modules/feds.py +++ b/AstrakoBot/modules/feds.py @@ -548,7 +548,11 @@ def fed_admin(update: Update, context: CallbackContext): else: text += "\n🔱 Admin:\n" for x in members: - user = bot.get_chat(x) + try: + user = bot.get_chat(x) + except BadRequest as excp: + if excp.message in FBAN_ERRORS: + pass name = user.first_name or 'Deleted' text += " • {}\n".format(mention_html(user.id, user.first_name)) From d82641093bc497c0d1b80068cbff7324f12aca09 Mon Sep 17 00:00:00 2001 From: Astrako Date: Mon, 28 Mar 2022 07:42:28 +0200 Subject: [PATCH 028/153] feds: add except when chat is not found for fechats --- AstrakoBot/modules/feds.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/AstrakoBot/modules/feds.py b/AstrakoBot/modules/feds.py index 5356b63989..56b7e56ffe 100644 --- a/AstrakoBot/modules/feds.py +++ b/AstrakoBot/modules/feds.py @@ -1578,6 +1578,7 @@ def fed_chats(update: Update, context: CallbackContext): bot, args = context.bot, context.args chat = update.effective_chat user = update.effective_user + chat_name = "" if chat.type == "private": send_message( @@ -1619,7 +1620,10 @@ def fed_chats(update: Update, context: CallbackContext): ) ) continue - text += " • {} ({})\n".format(chat_name, chats) + except BadRequest as excp: + if excp.message in FBAN_ERRORS: + pass + text += " • {} ({})\n".format(chat_name, chats) try: update.effective_message.reply_text(text, parse_mode=ParseMode.HTML) From 1409f425dab391771453eac1251b9ee2270824d1 Mon Sep 17 00:00:00 2001 From: Luke Date: Thu, 14 Apr 2022 00:13:57 +0300 Subject: [PATCH 029/153] feds: fix wrong indent in feds --- AstrakoBot/modules/feds.py | 68 +++++++++++++++++++------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/AstrakoBot/modules/feds.py b/AstrakoBot/modules/feds.py index 56b7e56ffe..595a2d4912 100644 --- a/AstrakoBot/modules/feds.py +++ b/AstrakoBot/modules/feds.py @@ -957,48 +957,48 @@ def fed_ban(update: Update, context: CallbackContext): html=True) """ - # Fban for fed subscriber - subscriber = list(sql.get_subscriber(fed_id)) - if len(subscriber) != 0: - for fedsid in subscriber: - all_fedschat = sql.all_fed_chats(fedsid) - for fedschat in all_fedschat: - try: - bot.ban_chat_member(fedschat, fban_user_id) - except BadRequest as excp: - if excp.message in FBAN_ERRORS: - try: - dispatcher.bot.getChat(fedschat) - except Unauthorized: - targetfed_id = sql.get_fed_id(fedschat) - sql.unsubs_fed(fed_id, targetfed_id) - LOGGER.info( - "Chat {} has unsubbed from the fed {} because I was kicked".format( - fedschat, info["fname"] - ) - ) - continue - elif excp.message == "User_id_invalid": - break - else: - LOGGER.warning( - "Unable to execute fban on {} because: {}".format( - fedschat, excp.message + # Fban for fed subscriber + subscriber = list(sql.get_subscriber(fed_id)) + if len(subscriber) != 0: + for fedsid in subscriber: + all_fedschat = sql.all_fed_chats(fedsid) + for fedschat in all_fedschat: + try: + bot.ban_chat_member(fedschat, fban_user_id) + except BadRequest as excp: + if excp.message in FBAN_ERRORS: + try: + dispatcher.bot.getChat(fedschat) + except Unauthorized: + targetfed_id = sql.get_fed_id(fedschat) + sql.unsubs_fed(fed_id, targetfed_id) + LOGGER.info( + "Chat {} has unsubbed from the fed {} because I was kicked".format( + fedschat, info["fname"] ) ) - except TelegramError: - pass + continue + elif excp.message == "User_id_invalid": + break + else: + LOGGER.warning( + "Unable to execute fban on {} because: {}".format( + fedschat, excp.message + ) + ) + except TelegramError: + pass # if chats_in_fed == 0: # send_message(update.effective_message, "Fedban affected 0 chats. ") # elif chats_in_fed > 0: # send_message(update.effective_message, # "Fedban affected {} chats. ".format(chats_in_fed)) - if silent: - if message.reply_to_message: - message.reply_to_message.delete() - message.delete() - return + if silent: + if message.reply_to_message: + message.reply_to_message.delete() + message.delete() + return From 569c33963dc8f872dce9f00a90c40eee3e57d84d Mon Sep 17 00:00:00 2001 From: Luke Date: Wed, 13 Apr 2022 22:30:18 +0300 Subject: [PATCH 030/153] feds: refractor fed_ban --- AstrakoBot/modules/feds.py | 165 ++++++++++++++++++++++++++----------- 1 file changed, 116 insertions(+), 49 deletions(-) diff --git a/AstrakoBot/modules/feds.py b/AstrakoBot/modules/feds.py index 595a2d4912..270047eec8 100644 --- a/AstrakoBot/modules/feds.py +++ b/AstrakoBot/modules/feds.py @@ -54,6 +54,7 @@ # Time spended on updating version to v2 = 26+ hours by @AyraHikari # Total spended for making this features is 68+ hours # LOGGER.info("Original federation module by MrYacha, reworked by Mizukito Akito (@peaktogoo) on Telegram.") +from AstrakoBot.modules.sql.users_sql import get_user_com_chats FBAN_ERRORS = { "User is an administrator of the chat", @@ -560,9 +561,10 @@ def fed_admin(update: Update, context: CallbackContext): def fed_ban(update: Update, context: CallbackContext): - bot, args = context.bot, context.args - chat = update.effective_chat - user = update.effective_user + bot, args = context.bot, context.args # type: telegram.Bot, List[str] + chat = update.effective_chat # Type: Optional[Chat] + user = update.effective_user # Type: Optional[User] + silent: bool = False if chat.type == "private": send_message( @@ -643,7 +645,7 @@ def fed_ban(update: Update, context: CallbackContext): if not str(user_id).isdigit(): send_message(update.effective_message, excp.message) return - elif len(str(user_id)) != 9: + elif len(str(user_id)) not in [9, 10]: send_message(update.effective_message, "That's not a user!") return isvalid = False @@ -730,12 +732,9 @@ def fed_ban(update: Update, context: CallbackContext): silent = True if not can_delete(chat, context.bot.id): return "" - else: - silent = False # If fedlog is set, then send message, except fedlog is current chat - get_fedlog = sql.get_fed_log(fed_id) - if get_fedlog: + if get_fedlog := sql.get_fed_log(fed_id): if int(get_fedlog) != int(chat.id): bot.send_message( get_fedlog, @@ -753,7 +752,10 @@ def fed_ban(update: Update, context: CallbackContext): ), parse_mode="HTML", ) + common_chats = get_user_com_chats(fban_user_id) for fedschat in fed_chats: + if fedschat not in common_chats: + continue try: # Do not spam all fed chats """ @@ -778,13 +780,25 @@ def fed_ban(update: Update, context: CallbackContext): ) continue elif excp.message == "User_id_invalid": + LOGGER.debug( + "fban error\nUnable to fban user {} in fed {} in chat {} \n\nreason: {}".format( + fban_user_id, fed_id, chat.id, str(excp)) + ) break else: LOGGER.warning( - "Could not fban on {} because: {}".format(chat, excp.message) + "Couldn't fban user {} in fed {} in chat {} \n\nreason: {}".format(fban_user_id, fed_id, chat.id, str(excp)) ) - except TelegramError: + except TelegramError as e: + LOGGER.debug( + "fban error, (TelegramError)\nUnable to fban user {} in fed {} in chat {} \n\nreason: {}".format( + fban_user_id, fed_id, chat.id, str(e)) + ) pass + except Exception as e: + LOGGER.warning( + "fban error\nUnable to fban user {} in fed {} in chat {} \n\nreason: {}".format(fban_user_id, fed_id, chat.id, str(e)) + ) # Also do not spam all fed admins """ send_to_list(bot, FEDADMIN, @@ -803,6 +817,8 @@ def fed_ban(update: Update, context: CallbackContext): for fedsid in subscriber: all_fedschat = sql.all_fed_chats(fedsid) for fedschat in all_fedschat: + if fedsid not in common_chats: + continue try: bot.ban_chat_member(fedschat, fban_user_id) except BadRequest as excp: @@ -819,6 +835,10 @@ def fed_ban(update: Update, context: CallbackContext): ) continue elif excp.message == "User_id_invalid": + LOGGER.debug( + "fban error\nUnable to fban user {} in fed {} in chat {} \n\nreason: {}".format( + fban_user_id, fed_id, chat.id, str(excp)) + ) break else: LOGGER.warning( @@ -826,9 +846,25 @@ def fed_ban(update: Update, context: CallbackContext): fedschat, excp.message ) ) - except TelegramError: + except TelegramError as e: + LOGGER.debug( + "fban error, (TelegramError)\nUnable to fban user {} in fed {} in chat {} \n\nreason: {}".format( + fban_user_id, fed_id, chat.id, str(excp)) + ) pass + except Exception as e: + LOGGER.warning( + "fban error\nUnable to fban user {} in fed {} in chat {} \n\nreason: {}".format( + fban_user_id, fed_id, chat.id, str(e)) + ) # send_message(update.effective_message, "Fedban Reason has been updated.") + if silent: + try: + if message.reply_to_message: + message.reply_to_message.delete() + message.delete() + except: + pass return fed_name = info["fname"] @@ -878,8 +914,6 @@ def fed_ban(update: Update, context: CallbackContext): silent = True if not can_delete(chat, context.bot.id): return "" - else: - silent = False # Send message to owner if fednotif is enabled if getfednotif: @@ -900,8 +934,7 @@ def fed_ban(update: Update, context: CallbackContext): parse_mode="HTML", ) # If fedlog is set, then send message, except fedlog is current chat - get_fedlog = sql.get_fed_log(fed_id) - if get_fedlog: + if get_fedlog:= sql.get_fed_log(fed_id): if int(get_fedlog) != int(chat.id): bot.send_message( get_fedlog, @@ -920,7 +953,10 @@ def fed_ban(update: Update, context: CallbackContext): parse_mode="HTML", ) chats_in_fed = 0 + common_chats = get_user_com_chats(fban_user_id) for fedschat in fed_chats: + if fedschat not in common_chats: + continue chats_in_fed += 1 try: # Do not spamming all fed chats @@ -937,13 +973,26 @@ def fed_ban(update: Update, context: CallbackContext): if excp.message in FBAN_ERRORS: pass elif excp.message == "User_id_invalid": + LOGGER.debug( + "fban error\nUnable to fban user {} in fed {} in chat {} \n\nreason: {}".format( + fban_user_id, fed_id, chat.id, str(excp)) + ) break else: LOGGER.warning( - "Could not fban on {} because: {}".format(chat, excp.message) + "Couldn't fban user {} in fed {} in chat {} \n\nreason: {}".format(fban_user_id, fed_id, + chat.id, str(excp)) ) - except TelegramError: + except TelegramError as e: + LOGGER.debug( + "fban error, (TelegramError)\nUnable to fban user {} in fed {} in chat {} \n\nreason: {}".format( + fban_user_id, fed_id, chat.id, str(excp)) + ) pass + except Exception as e: + LOGGER.warning( + "fban error\nUnable to fban user {} in fed {} in chat {} \n\nreason: {}".format(fban_user_id, fed_id, chat.id, str(e)) + ) # Also do not spamming all fed admins """ @@ -957,48 +1006,66 @@ def fed_ban(update: Update, context: CallbackContext): html=True) """ - # Fban for fed subscriber - subscriber = list(sql.get_subscriber(fed_id)) - if len(subscriber) != 0: - for fedsid in subscriber: - all_fedschat = sql.all_fed_chats(fedsid) - for fedschat in all_fedschat: - try: - bot.ban_chat_member(fedschat, fban_user_id) - except BadRequest as excp: - if excp.message in FBAN_ERRORS: - try: - dispatcher.bot.getChat(fedschat) - except Unauthorized: - targetfed_id = sql.get_fed_id(fedschat) - sql.unsubs_fed(fed_id, targetfed_id) - LOGGER.info( - "Chat {} has unsubbed from the fed {} because I was kicked".format( - fedschat, info["fname"] + # Fban for fed subscriber + subscriber = list(sql.get_subscriber(fed_id)) + if len(subscriber) != 0: + for fedsid in subscriber: + all_fedschat = sql.all_fed_chats(fedsid) + for fedschat in all_fedschat: + if fedsid not in common_chats: + continue + try: + bot.ban_chat_member(fedschat, fban_user_id) + except BadRequest as excp: + if excp.message in FBAN_ERRORS: + try: + dispatcher.bot.getChat(fedschat) + except Unauthorized: + targetfed_id = sql.get_fed_id(fedschat) + sql.unsubs_fed(fed_id, targetfed_id) + LOGGER.info( + "Chat {} has unsubbed from the fed {} because I was kicked".format( + fedschat, info["fname"] + ) ) + continue + elif excp.message == "User_id_invalid": + LOGGER.debug( + "fban error\nUnable to fban user {} in fed {} in chat {} \n\nreason: {}".format( + fban_user_id, fed_id, chat.id, str(excp)) ) - continue - elif excp.message == "User_id_invalid": - break - else: - LOGGER.warning( - "Unable to execute fban on {} because: {}".format( - fedschat, excp.message + break + else: + LOGGER.warning( + "Unable to execute fban on {} because: {}".format( + fedschat, excp.message + ) ) + except TelegramError as e: + LOGGER.debug( + "fban error, (TelegramError)\nUnable to fban user {} in fed {} in chat {} \n\nreason: {}".format( + fban_user_id, fed_id, chat.id, str(e)) + ) + pass + except Exception as e: + LOGGER.warning( + "fban error\nUnable to fban user {} in fed {} in chat {} \n\nreason: {}".format( + fban_user_id, fed_id, chat.id, str(e)) ) - except TelegramError: - pass # if chats_in_fed == 0: # send_message(update.effective_message, "Fedban affected 0 chats. ") # elif chats_in_fed > 0: # send_message(update.effective_message, # "Fedban affected {} chats. ".format(chats_in_fed)) - if silent: - if message.reply_to_message: - message.reply_to_message.delete() - message.delete() - return + if silent: + try: + if message.reply_to_message: + message.reply_to_message.delete() + message.delete() + except: + pass + return From 8278f6c492c090e6168b1854ee34f468eb466950 Mon Sep 17 00:00:00 2001 From: Luke Date: Wed, 13 Apr 2022 22:50:05 +0300 Subject: [PATCH 031/153] feds: start working on enforcing fed bans --- AstrakoBot/modules/feds.py | 50 +++++++++++++++++++++++++++----------- 1 file changed, 36 insertions(+), 14 deletions(-) diff --git a/AstrakoBot/modules/feds.py b/AstrakoBot/modules/feds.py index 270047eec8..7fd0fb8077 100644 --- a/AstrakoBot/modules/feds.py +++ b/AstrakoBot/modules/feds.py @@ -30,7 +30,7 @@ ) from AstrakoBot.modules.helper_funcs.string_handling import markdown_parser from telegram import ( - InlineKeyboardButton, + Chat, InlineKeyboardButton, InlineKeyboardMarkup, MessageEntity, ParseMode, @@ -41,7 +41,7 @@ CallbackContext, CallbackQueryHandler, CommandHandler, - run_async, + Filters, MessageHandler, run_async, ) from telegram.utils.helpers import mention_html, mention_markdown @@ -1057,7 +1057,7 @@ def fed_ban(update: Update, context: CallbackContext): # elif chats_in_fed > 0: # send_message(update.effective_message, # "Fedban affected {} chats. ".format(chats_in_fed)) - + if silent: try: if message.reply_to_message: @@ -2355,21 +2355,40 @@ def is_user_fed_owner(fed_id, user_id): return False -# There's no handler for this yet, but updating for v12 in case its used -def welcome_fed(update: Update, context: CallbackContext): - bot, args = context.bot, context.args +def enforce_fed(update: Update, _: CallbackContext): chat = update.effective_chat user = update.effective_user + msg = update.effective_message fed_id = sql.get_fed_id(chat.id) fban, fbanreason, fbantime = sql.get_fban_user(fed_id, user.id) - if fban: - update.effective_message.reply_text( - "This user is banned in the current federation! I will remove him." - ) - bot.ban_chat_member(chat.id, user.id) - return True - else: - return False + if not fban: + return + + if user and not is_user_admin(chat, user.id): + check_and_ban(update, user.id. fbanreason) + return + + if msg.new_chat_members: + new_members = update.effective_message.new_chat_members + for mem in new_members: + check_and_ban(update, mem.id. fbanreason) + + if msg.reply_to_message: + user = msg.reply_to_message.from_user + if user and not is_user_admin(chat, user.id): + check_and_ban(update, user.id. fbanreason) + + +def check_and_ban(update, chat: Chat, user_id: int, reason: str): + update.effective_message.reply_text( + f"This user is banned in the current federation! I will remove him.\n{'Reason: {}'.format(reason) if reason else ''}", + allow_sending_without_reply = True + ) + try: + chat.ban_member(user_id) + except: + pass + def __stats__(): @@ -2512,6 +2531,8 @@ def fed_user_help(update: Update, context: CallbackContext): FED_OWNER_HELP_HANDLER = CommandHandler("fedownerhelp", fed_owner_help, run_async=True) FED_ADMIN_HELP_HANDLER = CommandHandler("fedadminhelp", fed_admin_help, run_async=True) FED_USER_HELP_HANDLER = CommandHandler("feduserhelp", fed_user_help, run_async=True) +FBAN_ENFORCE = MessageHandler(Filters.all & Filters.chat_type.groups, enforce_fed, run_async=True) + dispatcher.add_handler(NEW_FED_HANDLER) dispatcher.add_handler(DEL_FED_HANDLER) @@ -2543,3 +2564,4 @@ def fed_user_help(update: Update, context: CallbackContext): dispatcher.add_handler(FED_OWNER_HELP_HANDLER) dispatcher.add_handler(FED_ADMIN_HELP_HANDLER) dispatcher.add_handler(FED_USER_HELP_HANDLER) +dispatcher.add_handler(FBAN_ENFORCE, 20) From d8a1dff30765a6c6c2ecc3fac0652eab215338d7 Mon Sep 17 00:00:00 2001 From: Luke Date: Wed, 13 Apr 2022 22:58:50 +0300 Subject: [PATCH 032/153] admin_status: new module dynamically handle and update admin cache --- .../modules/helper_funcs/admin_status.py | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 AstrakoBot/modules/helper_funcs/admin_status.py diff --git a/AstrakoBot/modules/helper_funcs/admin_status.py b/AstrakoBot/modules/helper_funcs/admin_status.py new file mode 100644 index 0000000000..d1cfc7310c --- /dev/null +++ b/AstrakoBot/modules/helper_funcs/admin_status.py @@ -0,0 +1,77 @@ +from threading import RLock + +from cachetools import TTLCache + +from telegram import ChatMember, TelegramError, Update +from telegram.ext import CallbackContext, ChatMemberHandler + +from AstrakoBot import SUDO_USERS, dispatcher + +BOT_ADMIN_CACHE = TTLCache(maxsize = 512, ttl = 60 * 30) +USER_ADMIN_CACHE = TTLCache(maxsize = 512, ttl = 60 * 30) +RLOCK = RLock() + + +def get_bot_member(chat_id: int) -> ChatMember: + try: + return BOT_ADMIN_CACHE[chat_id] + except KeyError: + mem = dispatcher.bot.getChatMember(chat_id, dispatcher.bot.id) + BOT_ADMIN_CACHE[chat_id] = mem + return mem + + +def user_is_admin(update: Update, user_id: int) -> bool: + chat = update.effective_chat + if chat.type == "private" or user_id in SUDO_USERS: + return True + + member: ChatMember = get_mem_from_cache(user_id, chat.id) + + if not member: # not in cache so not an admin + return False + + return member.status in ["administrator", "creator"] # check if user is admin + + +def get_mem_from_cache(user_id: int, chat_id: int) -> ChatMember: + with RLOCK: + try: + for i in USER_ADMIN_CACHE[chat_id]: + if i.user.id == user_id: + return i + + except KeyError: + admins = dispatcher.bot.getChatAdministrators(chat_id) + USER_ADMIN_CACHE[chat_id] = admins + for i in admins: + if i.user.id == user_id: + return i + + +def admincacheupdates(update: Update, _: CallbackContext): + try: + oldstat = update.chat_member.old_chat_member.status + newstat = update.chat_member.new_chat_member.status + except AttributeError: + return + if ( + oldstat == "administrator" + and newstat != "administrator" + or oldstat != "administrator" + and newstat == "administrator" + ): + + USER_ADMIN_CACHE[update.effective_chat.id] = update.effective_chat.get_administrators() + + +def botstatchanged(update: Update, _: CallbackContext): + if update.effective_chat.type != "private": + try: + BOT_ADMIN_CACHE[update.effective_chat.id] = update.effective_chat.get_member(dispatcher.bot.id) + except TelegramError: + pass + + +dispatcher.add_handler(ChatMemberHandler(botstatchanged, ChatMemberHandler.MY_CHAT_MEMBER, run_async=True), group=-20) +dispatcher.add_handler(ChatMemberHandler(admincacheupdates, ChatMemberHandler.CHAT_MEMBER, run_async=True), group=-21) From a482291e3b7eb54ee66c9e241f24e80cf566f388 Mon Sep 17 00:00:00 2001 From: Luke Date: Wed, 13 Apr 2022 23:04:01 +0300 Subject: [PATCH 033/153] admin_status: use chat instead of update in user_is_admin func --- AstrakoBot/modules/helper_funcs/admin_status.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/AstrakoBot/modules/helper_funcs/admin_status.py b/AstrakoBot/modules/helper_funcs/admin_status.py index d1cfc7310c..3b1da1707f 100644 --- a/AstrakoBot/modules/helper_funcs/admin_status.py +++ b/AstrakoBot/modules/helper_funcs/admin_status.py @@ -2,7 +2,7 @@ from cachetools import TTLCache -from telegram import ChatMember, TelegramError, Update +from telegram import Chat, ChatMember, TelegramError, Update from telegram.ext import CallbackContext, ChatMemberHandler from AstrakoBot import SUDO_USERS, dispatcher @@ -21,8 +21,7 @@ def get_bot_member(chat_id: int) -> ChatMember: return mem -def user_is_admin(update: Update, user_id: int) -> bool: - chat = update.effective_chat +def user_is_admin(chat: Chat, user_id: int) -> bool: if chat.type == "private" or user_id in SUDO_USERS: return True From acf6ee51012d42a7efea9089bd7bab0ab8092ffc Mon Sep 17 00:00:00 2001 From: Luke Date: Wed, 13 Apr 2022 23:04:42 +0300 Subject: [PATCH 034/153] feds: enforce_fban uses funcs from new admin_status module --- AstrakoBot/modules/feds.py | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/AstrakoBot/modules/feds.py b/AstrakoBot/modules/feds.py index 7fd0fb8077..b00cd2942e 100644 --- a/AstrakoBot/modules/feds.py +++ b/AstrakoBot/modules/feds.py @@ -18,6 +18,7 @@ dispatcher, ) from AstrakoBot.modules.disable import DisableAbleCommandHandler +from AstrakoBot.modules.helper_funcs.admin_status import get_bot_member, user_is_admin from AstrakoBot.modules.helper_funcs.alternate import send_message from AstrakoBot.modules.helper_funcs.chat_status import ( is_user_admin, @@ -2355,37 +2356,45 @@ def is_user_fed_owner(fed_id, user_id): return False -def enforce_fed(update: Update, _: CallbackContext): +def enforce_fed(update: Update, ctx: CallbackContext): chat = update.effective_chat user = update.effective_user msg = update.effective_message fed_id = sql.get_fed_id(chat.id) + + if not get_bot_member(chat.id).can_restrict_members: + sql.chat_leave_fed(chat.id) + ctx.bot.send_message( + chat.id, + "I don't have rights to restrict users on this chat, left fed!", + ) + return + fban, fbanreason, fbantime = sql.get_fban_user(fed_id, user.id) if not fban: return - if user and not is_user_admin(chat, user.id): - check_and_ban(update, user.id. fbanreason) - return + if user and not user_is_admin(chat, user.id): + check_and_ban(update, user.id, fbanreason) if msg.new_chat_members: new_members = update.effective_message.new_chat_members for mem in new_members: - check_and_ban(update, mem.id. fbanreason) + check_and_ban(update, mem.id, fbanreason) if msg.reply_to_message: user = msg.reply_to_message.from_user - if user and not is_user_admin(chat, user.id): - check_and_ban(update, user.id. fbanreason) + if user and not user_is_admin(chat, user.id): + check_and_ban(update, user.id, fbanreason) def check_and_ban(update, chat: Chat, user_id: int, reason: str): - update.effective_message.reply_text( - f"This user is banned in the current federation! I will remove him.\n{'Reason: {}'.format(reason) if reason else ''}", - allow_sending_without_reply = True - ) try: chat.ban_member(user_id) + update.effective_message.reply_text( + f"This user is banned in the current federation! I will remove him.\n{'Reason: {}'.format(reason) if reason else ''}", + allow_sending_without_reply = True + ) except: pass From e1313bc99bf79f8df703cca621d9f2d460bbf2fd Mon Sep 17 00:00:00 2001 From: Luke Date: Wed, 13 Apr 2022 23:08:54 +0300 Subject: [PATCH 035/153] global_bans: refractor enforce_gban and uses funcs from new admin_status module --- AstrakoBot/modules/global_bans.py | 43 ++++++++++++++----------------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/AstrakoBot/modules/global_bans.py b/AstrakoBot/modules/global_bans.py index ee350dd5c9..aefa0f79a0 100644 --- a/AstrakoBot/modules/global_bans.py +++ b/AstrakoBot/modules/global_bans.py @@ -15,6 +15,7 @@ from telegram.utils.helpers import mention_html import AstrakoBot.modules.sql.global_bans_sql as sql +from AstrakoBot.modules.helper_funcs.admin_status import get_bot_member, user_is_admin from AstrakoBot.modules.sql.users_sql import get_user_com_chats from AstrakoBot import ( DEV_USERS, @@ -447,33 +448,29 @@ def check_and_ban(update, user_id, should_message=True): update.effective_message.reply_text(text, parse_mode=ParseMode.HTML) -def enforce_gban(update: Update, context: CallbackContext): - # Not using @restrict handler to avoid spamming - just ignore if cant gban. - bot = context.bot - try: - restrict_permission = update.effective_chat.get_member( - bot.id - ).can_restrict_members - except Unauthorized: +def enforce_gban(update: Update, _: CallbackContext): + chat = update.effective_chat + if not get_bot_member(chat.id).can_restrict_members: return - if sql.does_chat_gban(update.effective_chat.id) and restrict_permission: - user = update.effective_user - chat = update.effective_chat - msg = update.effective_message - if user and not is_user_admin(chat, user.id): - check_and_ban(update, user.id) - return + if not sql.does_chat_gban(update.effective_chat.id): + return + + user = update.effective_user + msg = update.effective_message + + if user and not user_is_admin(chat, user.id): + check_and_ban(update, user.id) - if msg.new_chat_members: - new_members = update.effective_message.new_chat_members - for mem in new_members: - check_and_ban(update, mem.id) + if msg.new_chat_members: + new_members = update.effective_message.new_chat_members + for mem in new_members: + check_and_ban(update, mem.id) - if msg.reply_to_message: - user = msg.reply_to_message.from_user - if user and not is_user_admin(chat, user.id): - check_and_ban(update, user.id, should_message=False) + if msg.reply_to_message: + user = msg.reply_to_message.from_user + if user and not user_is_admin(chat, user.id): + check_and_ban(update, user.id, should_message=False) @user_admin From 02f4ac3c6a7d9923f737a1bc0145f1f570cd48d8 Mon Sep 17 00:00:00 2001 From: Luke Date: Wed, 13 Apr 2022 23:13:38 +0300 Subject: [PATCH 036/153] feds: fix minor conditional in enforce_fed --- AstrakoBot/modules/feds.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/feds.py b/AstrakoBot/modules/feds.py index b00cd2942e..b60084021c 100644 --- a/AstrakoBot/modules/feds.py +++ b/AstrakoBot/modules/feds.py @@ -2362,7 +2362,7 @@ def enforce_fed(update: Update, ctx: CallbackContext): msg = update.effective_message fed_id = sql.get_fed_id(chat.id) - if not get_bot_member(chat.id).can_restrict_members: + if fed_id and not get_bot_member(chat.id).can_restrict_members: sql.chat_leave_fed(chat.id) ctx.bot.send_message( chat.id, From 801d0e688e26a06ad7a3a3287e671d13da365daa Mon Sep 17 00:00:00 2001 From: Luke Date: Wed, 13 Apr 2022 23:28:30 +0300 Subject: [PATCH 037/153] users: add more logging to log_user --- AstrakoBot/modules/users.py | 43 +++++++++++++++++++++++++++++++++---- 1 file changed, 39 insertions(+), 4 deletions(-) diff --git a/AstrakoBot/modules/users.py b/AstrakoBot/modules/users.py index bdad0aff9a..69a65f2c40 100644 --- a/AstrakoBot/modules/users.py +++ b/AstrakoBot/modules/users.py @@ -1,3 +1,4 @@ +import contextlib from io import BytesIO from time import sleep @@ -99,23 +100,57 @@ def broadcast(update: Update, context: CallbackContext): ) -def log_user(update: Update, context: CallbackContext): +def log_user(update: Update, _: CallbackContext): chat = update.effective_chat msg = update.effective_message sql.update_user(msg.from_user.id, msg.from_user.username, chat.id, chat.title) - if msg.reply_to_message: + if rep := msg.reply_to_message: sql.update_user( - msg.reply_to_message.from_user.id, - msg.reply_to_message.from_user.username, + rep.from_user.id, + rep.from_user.username, chat.id, chat.title, ) + if rep.forward_from: + sql.update_user( + rep.forward_from.id, + rep.forward_from.username, + ) + + if rep.entities: + for entity in rep.entities: + if entity.type in ["text_mention", "mention"]: + with contextlib.suppress(AttributeError): + sql.update_user(entity.user.id, entity.user.username) + if rep.sender_chat and not rep.is_automatic_forward: + sql.update_user( + rep.sender_chat.id, + rep.sender_chat.username, + chat.id, + chat.title, + ) + if msg.forward_from: sql.update_user(msg.forward_from.id, msg.forward_from.username) + if msg.entities: + for entity in msg.entities: + if entity.type in ["text_mention", "mention"]: + with contextlib.suppress(AttributeError): + sql.update_user(entity.user.id, entity.user.username) + + if msg.new_chat_members: + for user in msg.new_chat_members: + if user.id == msg.from_user.id: # we already added that in the first place + continue + sql.update_user(user.id, user.username, chat.id, chat.title) + + if req := update.chat_join_request: + sql.update_user(req.from_user.id, req.from_user.username, chat.id, chat.title) + @sudo_plus def chats(update: Update, context: CallbackContext): From 3a4507f9e52d2ce5a860abfe9ca84a6f3c7dee7b Mon Sep 17 00:00:00 2001 From: Luke Date: Wed, 13 Apr 2022 23:36:09 +0300 Subject: [PATCH 038/153] feds: fix missing arg for check_and_ban --- AstrakoBot/modules/feds.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/AstrakoBot/modules/feds.py b/AstrakoBot/modules/feds.py index b60084021c..5c4d185979 100644 --- a/AstrakoBot/modules/feds.py +++ b/AstrakoBot/modules/feds.py @@ -2375,17 +2375,17 @@ def enforce_fed(update: Update, ctx: CallbackContext): return if user and not user_is_admin(chat, user.id): - check_and_ban(update, user.id, fbanreason) + check_and_ban(update, chat, user.id, fbanreason) if msg.new_chat_members: new_members = update.effective_message.new_chat_members for mem in new_members: - check_and_ban(update, mem.id, fbanreason) + check_and_ban(update, chat, mem.id, fbanreason) if msg.reply_to_message: user = msg.reply_to_message.from_user if user and not user_is_admin(chat, user.id): - check_and_ban(update, user.id, fbanreason) + check_and_ban(update, chat, user.id, fbanreason) def check_and_ban(update, chat: Chat, user_id: int, reason: str): From 200bd91fbb823fd7161cfe1022973ef4c71632a4 Mon Sep 17 00:00:00 2001 From: Luke Date: Thu, 14 Apr 2022 00:19:44 +0300 Subject: [PATCH 039/153] feds: more refractoring --- AstrakoBot/modules/feds.py | 144 +++++++++++++++++++++++-------------- 1 file changed, 89 insertions(+), 55 deletions(-) diff --git a/AstrakoBot/modules/feds.py b/AstrakoBot/modules/feds.py index 5c4d185979..ff563d1e04 100644 --- a/AstrakoBot/modules/feds.py +++ b/AstrakoBot/modules/feds.py @@ -757,6 +757,13 @@ def fed_ban(update: Update, context: CallbackContext): for fedschat in fed_chats: if fedschat not in common_chats: continue + if not get_bot_member(fedschat).can_restrict_members: + sql.chat_leave_fed(fedschat) + bot.send_message( + chat.id, + "I don't have rights to restrict users on this chat, left fed!", + ) + continue try: # Do not spam all fed chats """ @@ -820,6 +827,13 @@ def fed_ban(update: Update, context: CallbackContext): for fedschat in all_fedschat: if fedsid not in common_chats: continue + if not get_bot_member(fedschat).can_restrict_members: + sql.chat_leave_fed(fedschat) + bot.send_message( + chat.id, + "I don't have rights to restrict users on this chat, left fed!", + ) + continue try: bot.ban_chat_member(fedschat, fban_user_id) except BadRequest as excp: @@ -850,7 +864,7 @@ def fed_ban(update: Update, context: CallbackContext): except TelegramError as e: LOGGER.debug( "fban error, (TelegramError)\nUnable to fban user {} in fed {} in chat {} \n\nreason: {}".format( - fban_user_id, fed_id, chat.id, str(excp)) + fban_user_id, fed_id, chat.id, str(e)) ) pass except Exception as e: @@ -953,12 +967,19 @@ def fed_ban(update: Update, context: CallbackContext): ), parse_mode="HTML", ) - chats_in_fed = 0 + # chats_in_fed = 0 common_chats = get_user_com_chats(fban_user_id) for fedschat in fed_chats: if fedschat not in common_chats: continue - chats_in_fed += 1 + if not get_bot_member(fedschat).can_restrict_members: + sql.chat_leave_fed(fedschat) + bot.send_message( + chat.id, + "I don't have rights to restrict users on this chat, left fed!", + ) + continue + # chats_in_fed += 1 try: # Do not spamming all fed chats """ @@ -978,7 +999,7 @@ def fed_ban(update: Update, context: CallbackContext): "fban error\nUnable to fban user {} in fed {} in chat {} \n\nreason: {}".format( fban_user_id, fed_id, chat.id, str(excp)) ) - break + # break else: LOGGER.warning( "Couldn't fban user {} in fed {} in chat {} \n\nreason: {}".format(fban_user_id, fed_id, @@ -1007,52 +1028,59 @@ def fed_ban(update: Update, context: CallbackContext): html=True) """ - # Fban for fed subscriber - subscriber = list(sql.get_subscriber(fed_id)) - if len(subscriber) != 0: - for fedsid in subscriber: - all_fedschat = sql.all_fed_chats(fedsid) - for fedschat in all_fedschat: - if fedsid not in common_chats: - continue - try: - bot.ban_chat_member(fedschat, fban_user_id) - except BadRequest as excp: - if excp.message in FBAN_ERRORS: - try: - dispatcher.bot.getChat(fedschat) - except Unauthorized: - targetfed_id = sql.get_fed_id(fedschat) - sql.unsubs_fed(fed_id, targetfed_id) - LOGGER.info( - "Chat {} has unsubbed from the fed {} because I was kicked".format( - fedschat, info["fname"] - ) - ) - continue - elif excp.message == "User_id_invalid": - LOGGER.debug( - "fban error\nUnable to fban user {} in fed {} in chat {} \n\nreason: {}".format( - fban_user_id, fed_id, chat.id, str(excp)) - ) - break - else: - LOGGER.warning( - "Unable to execute fban on {} because: {}".format( - fedschat, excp.message + # Fban for fed subscriber + subscriber = list(sql.get_subscriber(fed_id)) + if len(subscriber) != 0: + for fedsid in subscriber: + all_fedschat = sql.all_fed_chats(fedsid) + for fedschat in all_fedschat: + if fedsid not in common_chats: + continue + if not get_bot_member(fedschat).can_restrict_members: + sql.chat_leave_fed(fedschat) + bot.send_message( + chat.id, + "I don't have rights to restrict users on this chat, left fed!", + ) + continue + try: + bot.ban_chat_member(fedschat, fban_user_id) + except BadRequest as excp: + if excp.message in FBAN_ERRORS: + try: + dispatcher.bot.getChat(fedschat) + except Unauthorized: + targetfed_id = sql.get_fed_id(fedschat) + sql.unsubs_fed(fed_id, targetfed_id) + LOGGER.info( + "Chat {} has unsubbed from the fed {} because I was kicked".format( + fedschat, info["fname"] ) ) - except TelegramError as e: + continue + elif excp.message == "User_id_invalid": LOGGER.debug( - "fban error, (TelegramError)\nUnable to fban user {} in fed {} in chat {} \n\nreason: {}".format( - fban_user_id, fed_id, chat.id, str(e)) + "fban error\nUnable to fban user {} in fed {} in chat {} \n\nreason: {}".format( + fban_user_id, fed_id, chat.id, str(excp)) ) - pass - except Exception as e: + break + else: LOGGER.warning( - "fban error\nUnable to fban user {} in fed {} in chat {} \n\nreason: {}".format( - fban_user_id, fed_id, chat.id, str(e)) + "Unable to execute fban on {} because: {}".format( + fedschat, excp.message + ) ) + except TelegramError as e: + LOGGER.debug( + "fban error, (TelegramError)\nUnable to fban user {} in fed {} in chat {} \n\nreason: {}".format( + fban_user_id, fed_id, chat.id, str(e)) + ) + pass + except Exception as e: + LOGGER.warning( + "fban error\nUnable to fban user {} in fed {} in chat {} \n\nreason: {}".format( + fban_user_id, fed_id, chat.id, str(e)) + ) # if chats_in_fed == 0: # send_message(update.effective_message, "Fedban affected 0 chats. ") # elif chats_in_fed > 0: @@ -2370,22 +2398,28 @@ def enforce_fed(update: Update, ctx: CallbackContext): ) return - fban, fbanreason, fbantime = sql.get_fban_user(fed_id, user.id) - if not fban: - return - if user and not user_is_admin(chat, user.id): - check_and_ban(update, chat, user.id, fbanreason) + fban, fbanreason, fbantime = sql.get_fban_user(fed_id, user.id) + if fban: + check_and_ban(update, chat, user.id, fbanreason) if msg.new_chat_members: new_members = update.effective_message.new_chat_members for mem in new_members: - check_and_ban(update, chat, mem.id, fbanreason) - - if msg.reply_to_message: - user = msg.reply_to_message.from_user - if user and not user_is_admin(chat, user.id): - check_and_ban(update, chat, user.id, fbanreason) + fban, fbanreason, fbantime = sql.get_fban_user(fed_id, mem.id) + if fban: + check_and_ban(update, chat, mem.id, fbanreason) + + # this is optional for now because it needs to check if user is in the chat + # and I rather not make more requests to tg on every reply + # if msg.reply_to_message: + # user = msg.reply_to_message.from_user + # mem = chat.get_member(user.id) + # if mem.status in ["administrator", "creator", "kicked"]: + # return + # fban, fbanreason, fbantime = sql.get_fban_user(fed_id, user.id) + # if fban and user and not user_is_admin(chat, user.id): + # check_and_ban(update, chat, user.id, fbanreason) def check_and_ban(update, chat: Chat, user_id: int, reason: str): From d7b94c065d8fbf3f51df7b799a90e3256154afab Mon Sep 17 00:00:00 2001 From: Luke Date: Thu, 14 Apr 2022 00:20:02 +0300 Subject: [PATCH 040/153] main: specify the allowed updates --- AstrakoBot/__main__.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/AstrakoBot/__main__.py b/AstrakoBot/__main__.py index b83be07733..c0a7b9ebe0 100644 --- a/AstrakoBot/__main__.py +++ b/AstrakoBot/__main__.py @@ -660,7 +660,9 @@ def main(): else: LOGGER.info("Using long polling.") - updater.start_polling(timeout=15, read_latency=4, drop_pending_updates=True) + allowed_updates = ['message', 'edited_message', 'callback_query', 'callback_query', 'my_chat_member', + 'chat_member', 'chat_join_request', 'channel_post', 'edited_channel_post', 'inline_query'] + updater.start_polling(timeout=15, read_latency=4, drop_pending_updates=True, allowed_updates = allowed_updates) if len(argv) not in (1, 3, 4): telethn.disconnect() From 32ca12e065a1362b94727932c461e98071104821 Mon Sep 17 00:00:00 2001 From: Alejandro <31514786+Astrako@users.noreply.github.com> Date: Fri, 15 Jul 2022 11:47:51 +0200 Subject: [PATCH 041/153] requirements: bump ptb version to 13.13 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index bd1443e840..bf7870c325 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ lxml beautifulsoup4 requests sqlalchemy -python-telegram-bot==13.11 +python-telegram-bot==13.13 psycopg2-binary feedparser pynewtonmath From a4be0d3ce197e93122403fe1389ec09109f5480e Mon Sep 17 00:00:00 2001 From: Alejandro <31514786+Astrako@users.noreply.github.com> Date: Fri, 16 Sep 2022 17:34:22 +0200 Subject: [PATCH 042/153] requirements: bump ptb version to 13.14 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index bf7870c325..fc701a158e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ lxml beautifulsoup4 requests sqlalchemy -python-telegram-bot==13.13 +python-telegram-bot==13.14 psycopg2-binary feedparser pynewtonmath From 82a6fa427227568527455771839ac929b944a875 Mon Sep 17 00:00:00 2001 From: Alejandro <31514786+Astrako@users.noreply.github.com> Date: Fri, 16 Sep 2022 17:35:00 +0200 Subject: [PATCH 043/153] requirements: replace old markdown2 repo --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index fc701a158e..41487002ae 100644 --- a/requirements.txt +++ b/requirements.txt @@ -23,7 +23,7 @@ speedtest-cli coffeehouse regex bleach -git+https://github.com/starry69/python-markdown2.git +markdown2 wikipedia telethon spamwatch From 2d2bf28f98a4334070fb5f7c80b7cee8146179c7 Mon Sep 17 00:00:00 2001 From: Alejandro <31514786+Astrako@users.noreply.github.com> Date: Thu, 6 Oct 2022 16:51:51 +0200 Subject: [PATCH 044/153] requirements.: revert to old emoji pip package Due changes in >2.0.0 for now is better to stay in older version --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 41487002ae..23827ba4f2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ future -emoji +emoji==1.7.0 lxml beautifulsoup4 requests From e9ae91c2cff08539333bcb40c845e6361baa0fd6 Mon Sep 17 00:00:00 2001 From: Luke Date: Wed, 12 Oct 2022 08:41:06 +0000 Subject: [PATCH 045/153] add DROP_UPDATES var and startup script Signed-off-by: Luke --- .gitignore | 1 + AstrakoBot/__init__.py | 2 ++ AstrakoBot/__main__.py | 8 +++----- AstrakoBot/sample_config.py | 1 + run.sh | 3 +++ 5 files changed, 10 insertions(+), 5 deletions(-) create mode 100755 run.sh diff --git a/.gitignore b/.gitignore index 3472a90e34..d67488e57b 100644 --- a/.gitignore +++ b/.gitignore @@ -160,3 +160,4 @@ backups/ *.png *.ttf shell_output.txt +error.txt diff --git a/AstrakoBot/__init__.py b/AstrakoBot/__init__.py index c111385e23..19aebddc36 100644 --- a/AstrakoBot/__init__.py +++ b/AstrakoBot/__init__.py @@ -84,6 +84,7 @@ ALLOW_CHATS = os.environ.get("ALLOW_CHATS", True) BACKUP_PASS = os.environ.get("BACKUP_PASS", True) + DROP_UPDATES = os.environ.get("DROP_UPDATES", False) try: BL_CHATS = set(int(x) for x in os.environ.get("BL_CHATS", "").split()) @@ -149,6 +150,7 @@ INFOPIC = Config.INFOPIC WEATHER_API = Config.WEATHER_API BACKUP_PASS = Config.BACKUP_PASS + DROP_UPDATES = Config.DROP_UPDATES try: BL_CHATS = set(int(x) for x in Config.BL_CHATS or []) diff --git a/AstrakoBot/__main__.py b/AstrakoBot/__main__.py index c0a7b9ebe0..d2fe21830f 100644 --- a/AstrakoBot/__main__.py +++ b/AstrakoBot/__main__.py @@ -20,6 +20,7 @@ StartTime, telethn, updater, + DROP_UPDATES, ) # needed to dynamically load modules @@ -662,12 +663,9 @@ def main(): LOGGER.info("Using long polling.") allowed_updates = ['message', 'edited_message', 'callback_query', 'callback_query', 'my_chat_member', 'chat_member', 'chat_join_request', 'channel_post', 'edited_channel_post', 'inline_query'] - updater.start_polling(timeout=15, read_latency=4, drop_pending_updates=True, allowed_updates = allowed_updates) + updater.start_polling(timeout=15, read_latency=4, drop_pending_updates=DROP_UPDATES, allowed_updates = allowed_updates) - if len(argv) not in (1, 3, 4): - telethn.disconnect() - else: - telethn.run_until_disconnected() + telethn.run_until_disconnected() updater.idle() diff --git a/AstrakoBot/sample_config.py b/AstrakoBot/sample_config.py index 88c4876a77..a4732c28d4 100644 --- a/AstrakoBot/sample_config.py +++ b/AstrakoBot/sample_config.py @@ -72,6 +72,7 @@ class Config(object): SPAMMERS = None BACKUP_PASS = "12345" # The password used for the cron backups zip + DROP_UPDATES = False # whether to drop the pending updates or not class Production(Config): LOGGER = True diff --git a/run.sh b/run.sh new file mode 100755 index 0000000000..ce61ac3691 --- /dev/null +++ b/run.sh @@ -0,0 +1,3 @@ +#!/bin/bash +source venv/bin/activate +python3.10 -m AstrakoBot From 088053f2f68fc9225d15930bbf5759dee7b5bedd Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Fri, 3 Mar 2023 15:39:13 -0300 Subject: [PATCH 046/153] bans: Fix roar --- AstrakoBot/modules/bans.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/AstrakoBot/modules/bans.py b/AstrakoBot/modules/bans.py index 4c0cf38698..4fc9e40f84 100644 --- a/AstrakoBot/modules/bans.py +++ b/AstrakoBot/modules/bans.py @@ -25,6 +25,7 @@ user_admin, user_can_ban, can_delete, + is_bot_admin, ) from AstrakoBot.modules.helper_funcs.extraction import extract_user_and_text from AstrakoBot.modules.helper_funcs.string_handling import extract_time @@ -353,11 +354,8 @@ def unban(update: Update, context: CallbackContext) -> str: return log -@connection_status -@bot_admin -@can_restrict @gloggable -def selfunban(context: CallbackContext, update: Update) -> str: +def selfunban(update: Update, context: CallbackContext) -> str: message = update.effective_message user = update.effective_user bot, args = context.bot, context.args @@ -370,7 +368,19 @@ def selfunban(context: CallbackContext, update: Update) -> str: message.reply_text("Give a valid chat ID.") return - chat = bot.getChat(chat_id) + try: + chat = bot.getChat(chat_id) + except: + message.reply_text("It doesn't look like I'm listed as a member of this chat.") + return + + if (chat.type == "private"): + message.reply_text("How am i going to unban you from a private chat?") + return + + if not is_bot_admin(chat, bot.id): + message.reply_text("I'm sorry but i am not an admin there!") + return try: member = chat.get_member(user.id) From 44a33404a4cb18ab08876535cf1340717103bce3 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Fri, 3 Mar 2023 16:30:01 -0300 Subject: [PATCH 047/153] muting: add s-mute s-unmute and s-tmute - Useful when you want to mute an irritating member but don't want them to see that you have muted them. --- AstrakoBot/modules/muting.py | 124 ++++++++++++++++++++++++----------- 1 file changed, 87 insertions(+), 37 deletions(-) diff --git a/AstrakoBot/modules/muting.py b/AstrakoBot/modules/muting.py index 32163f0ac5..e836008b58 100644 --- a/AstrakoBot/modules/muting.py +++ b/AstrakoBot/modules/muting.py @@ -8,6 +8,7 @@ connection_status, is_user_admin, user_admin, + can_delete, ) from AstrakoBot.modules.helper_funcs.extraction import ( extract_user, @@ -65,6 +66,12 @@ def mute(update: Update, context: CallbackContext) -> str: user_id, reason = extract_user_and_text(message, args) reply = check_user(user_id, bot, chat) + silent = False + if message.text.startswith("/s") or message.text.startswith("!s"): + silent = True + if not can_delete(chat, context.bot.id): + return "" + if reply: message.reply_text(reply) return "" @@ -84,18 +91,24 @@ def mute(update: Update, context: CallbackContext) -> str: if member.can_send_messages is None or member.can_send_messages: chat_permissions = ChatPermissions(can_send_messages=False) bot.restrict_chat_member(chat.id, user_id, chat_permissions) - reply = ( - f"Mute Event\n" - f" • User: {mention_html(member.user.id, html.escape(member.user.first_name))}\n" - f" • Time: no expiration date" - ) - if reason: - reply += f"\n • Reason: {html.escape(reason)}" - bot.sendMessage(chat.id, reply, parse_mode=ParseMode.HTML) + if not silent: + reply = ( + f"Mute Event\n" + f" • User: {mention_html(member.user.id, html.escape(member.user.first_name))}\n" + f" • Time: no expiration date" + ) + if reason: + reply += f"\n • Reason: {html.escape(reason)}" + bot.sendMessage(chat.id, reply, parse_mode=ParseMode.HTML) + else: + message.delete() return log else: - message.reply_text("This user is already muted!") + if not silent: + message.reply_text("This user is already muted!") + else: + message.delete() return "" @@ -110,11 +123,20 @@ def unmute(update: Update, context: CallbackContext) -> str: user = update.effective_user message = update.effective_message + silent = False + if message.text.startswith("/s") or message.text.startswith("!s"): + silent = True + if not can_delete(chat, context.bot.id): + return "" + user_id = extract_user(message, args) if not user_id: - message.reply_text( - "You'll need to either give me a username to unmute, or reply to someone to be unmuted." - ) + if silent: + message.delete() + else: + message.reply_text( + "You'll need to either give me a username to unmute, or reply to someone to be unmuted." + ) return "" member = chat.get_member(int(user_id)) @@ -126,7 +148,8 @@ def unmute(update: Update, context: CallbackContext) -> str: and member.can_send_other_messages is not False and member.can_add_web_page_previews is not False ): - message.reply_text("This user already has the right to speak.") + if not silent: + message.reply_text("This user already has the right to speak.") else: chat_permissions = ChatPermissions( can_send_messages=True, @@ -142,11 +165,14 @@ def unmute(update: Update, context: CallbackContext) -> str: bot.restrict_chat_member(chat.id, int(user_id), chat_permissions) except BadRequest: pass - bot.sendMessage( - chat.id, - f"I shall allow {html.escape(member.user.first_name)} to text!", - parse_mode=ParseMode.HTML, - ) + if not silent: + bot.sendMessage( + chat.id, + f"I shall allow {html.escape(member.user.first_name)} to text!", + parse_mode=ParseMode.HTML, + ) + else: + message.delete() return ( f"{html.escape(chat.title)}:\n" f"#UNMUTE\n" @@ -154,11 +180,14 @@ def unmute(update: Update, context: CallbackContext) -> str: f"User: {mention_html(member.user.id, member.user.first_name)}" ) else: - message.reply_text( - "This user isn't even in the chat, unmuting them won't make them talk more than they " - "already do!" - ) + if not silent: + message.reply_text( + "This user isn't even in the chat, unmuting them won't make them talk more than they " + "already do!" + ) + if silent: + message.delete() return "" @@ -176,6 +205,12 @@ def temp_mute(update: Update, context: CallbackContext) -> str: user_id, reason = extract_user_and_text(message, args) reply = check_user(user_id, bot, chat) + silent = False + if message.text.startswith("/s") or message.text.startswith("!s"): + silent = True + if not can_delete(chat, context.bot.id): + return "" + if reply: message.reply_text(reply) return "" @@ -183,7 +218,10 @@ def temp_mute(update: Update, context: CallbackContext) -> str: member = chat.get_member(user_id) if not reason: - message.reply_text("You haven't specified a time to mute this user for!") + if not silent: + message.reply_text("You haven't specified a time to mute this user for!") + else: + message.delete() return "" split_reason = reason.split(None, 1) @@ -215,22 +253,31 @@ def temp_mute(update: Update, context: CallbackContext) -> str: bot.restrict_chat_member( chat.id, user_id, chat_permissions, until_date=mutetime ) - reply = ( - f"Mute Event\n" - f" • User: {mention_html(member.user.id, html.escape(member.user.first_name))}\n" - f" • Time: {time_val}" - ) - if reason: - reply += f"\n • Reason: {html.escape(reason)}" - bot.sendMessage(chat.id, reply, parse_mode=ParseMode.HTML) + if not silent: + reply = ( + f"Mute Event\n" + f" • User: {mention_html(member.user.id, html.escape(member.user.first_name))}\n" + f" • Time: {time_val}" + ) + if reason: + reply += f"\n • Reason: {html.escape(reason)}" + bot.sendMessage(chat.id, reply, parse_mode=ParseMode.HTML) + else: + message.delete() return log else: - message.reply_text("This user is already muted.") + if not silent: + message.reply_text("This user is already muted.") + else: + message.delete() except BadRequest as excp: if excp.message == "Reply message not found": # Do not reply - message.reply_text(f"Muted for {time_val}!", quote=False) + if not silent: + message.reply_text(f"Muted for {time_val}!", quote=False) + else: + message.delete() return log else: LOGGER.warning(update) @@ -241,7 +288,10 @@ def temp_mute(update: Update, context: CallbackContext) -> str: chat.id, excp.message, ) - message.reply_text("Well damn, I can't mute that user.") + if not silent: + message.reply_text("Well damn, I can't mute that user.") + else: + message.delete() return "" @@ -253,9 +303,9 @@ def temp_mute(update: Update, context: CallbackContext) -> str: • `/unmute `*:* unmutes a user. Can also be used as a reply, muting the replied to user. """ -MUTE_HANDLER = CommandHandler("mute", mute, run_async=True) -UNMUTE_HANDLER = CommandHandler("unmute", unmute, run_async=True) -TEMPMUTE_HANDLER = CommandHandler(["tmute", "tempmute"], temp_mute, run_async=True) +MUTE_HANDLER = CommandHandler(["mute", "smute"], mute, run_async=True) +UNMUTE_HANDLER = CommandHandler(["unmute", "sunmute"], unmute, run_async=True) +TEMPMUTE_HANDLER = CommandHandler(["tmute", "tempmute", "stmute", "stempmute"], temp_mute, run_async=True) dispatcher.add_handler(MUTE_HANDLER) dispatcher.add_handler(UNMUTE_HANDLER) From 5f43179420e3415c255124a95728ad5888a25501 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sat, 4 Mar 2023 10:57:18 -0300 Subject: [PATCH 048/153] warns: check if the value is within an acceptable range before setting --- AstrakoBot/modules/warns.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/AstrakoBot/modules/warns.py b/AstrakoBot/modules/warns.py index c0af55c393..87e58321e1 100644 --- a/AstrakoBot/modules/warns.py +++ b/AstrakoBot/modules/warns.py @@ -394,6 +394,8 @@ def set_warn_limit(update: Update, context: CallbackContext) -> str: if args[0].isdigit(): if int(args[0]) < 3: msg.reply_text("The minimum warn limit is 3!") + elif int(args[0]) > 9999: + msg.reply_text("Well damn, that's a too big value!") else: sql.set_warn_limit(chat.id, int(args[0])) msg.reply_text("Updated the warn limit to {}".format(args[0])) From ac259f4154dddca58565fc20d9e5c3602c53205d Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sat, 4 Mar 2023 11:01:19 -0300 Subject: [PATCH 049/153] super_users: Fix typo --- AstrakoBot/modules/super_users.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/super_users.py b/AstrakoBot/modules/super_users.py index 9f051946cc..d85d6d01fb 100644 --- a/AstrakoBot/modules/super_users.py +++ b/AstrakoBot/modules/super_users.py @@ -146,7 +146,7 @@ def addsupport( return "" if user_id in SUPPORT_USERS: - message.reply_text("This user is already sudo") + message.reply_text("This user is already support") return "" if user_id in WHITELIST_USERS: From e7573db3a5a79164e9f5d3c8de4d460d108ed8c3 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sat, 4 Mar 2023 12:30:58 -0300 Subject: [PATCH 050/153] wallpapers: use pixabay api * Not so accurate, but at least it works and is free --- AstrakoBot/modules/wallpaper.py | 22 ++++++++++------------ AstrakoBot/sample_config.py | 2 +- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/AstrakoBot/modules/wallpaper.py b/AstrakoBot/modules/wallpaper.py index 3b42e8e2b9..3004eaa4db 100644 --- a/AstrakoBot/modules/wallpaper.py +++ b/AstrakoBot/modules/wallpaper.py @@ -1,6 +1,6 @@ from random import randint -import requests as r +import requests from AstrakoBot import SUPPORT_CHAT, WALL_API, dispatcher from AstrakoBot.modules.disable import DisableAbleCommandHandler from AstrakoBot.modules.sql.clear_cmd_sql import get_clearcmd @@ -8,8 +8,7 @@ from telegram import Update from telegram.ext import CallbackContext, run_async -# Wallpapers module by @TheRealPhoenix using wall.alphacoders.com - +PIXABAY_API = WALL_API def wall(update: Update, context: CallbackContext): chat_id = update.effective_chat.id @@ -23,21 +22,20 @@ def wall(update: Update, context: CallbackContext): return else: caption = query - term = query.replace(" ", "%20") - json_rep = r.get( - f"https://wall.alphacoders.com/api2.0/get.php?auth={WALL_API}&method=search&term={term}" - ).json() - if not json_rep.get("success"): + term = query.replace(" ", "+") + response = requests.get(f"https://pixabay.com/api/?key={PIXABAY_API}&q={term}&image_type=photo&per_page=200") + + if response.status_code != 200: msg.reply_text(f"An error occurred! Report this @{SUPPORT_CHAT}") else: - wallpapers = json_rep.get("wallpapers") + data = response.json() + wallpapers = data.get("hits") if not wallpapers: msg.reply_text("No results found! Refine your search.") return else: - index = randint(0, len(wallpapers) - 1) # Choose random index - wallpaper = wallpapers[index] - wallpaper = wallpaper.get("url_image") + index = randint(0, len(wallpapers) - 1) if len(wallpapers) > 1 else 0 + wallpaper = wallpapers[index].get("largeImageURL") wallpaper = wallpaper.replace("\\", "") delmsg_preview = bot.send_photo( chat_id, diff --git a/AstrakoBot/sample_config.py b/AstrakoBot/sample_config.py index a4732c28d4..ba0392c904 100644 --- a/AstrakoBot/sample_config.py +++ b/AstrakoBot/sample_config.py @@ -65,7 +65,7 @@ class Config(object): ) TIME_API_KEY = "awoo" # Get your API key from https://timezonedb.com/api WALL_API = ( - "awoo" # For wallpapers, get one from https://wall.alphacoders.com/api.php + "awoo" # For wallpapers, get one from https://pixabay.com/api/docs ) AI_API_KEY = "awoo" # For chatbot, get one from https://coffeehouse.intellivoid.net/dashboard BL_CHATS = [] # List of groups that you want blacklisted. From 8c67994693b92d6588f16518e31235ea12be26bb Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sat, 4 Mar 2023 12:39:57 -0300 Subject: [PATCH 051/153] github: repository should have a release file in order to use the cmd --- AstrakoBot/modules/github.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/github.py b/AstrakoBot/modules/github.py index 079ff45bb0..042efe7fd3 100755 --- a/AstrakoBot/modules/github.py +++ b/AstrakoBot/modules/github.py @@ -60,7 +60,7 @@ def getphh(index): # do not async def getData(url, index): if not api.getData(url): - return "Invalid / combo" + return "Invalid / combo.\nAre you sure this repository has a release file?" recentRelease = api.getReleaseData(api.getData(url), index) if recentRelease is None: return "The specified release could not be found" From 5148bea4452011ab264d7c55b2c19129342446a6 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sat, 4 Mar 2023 15:18:14 -0300 Subject: [PATCH 052/153] gtranslator: Rewrite --- AstrakoBot/modules/gtranslator.py | 261 +++++++++++++++++++++--------- 1 file changed, 189 insertions(+), 72 deletions(-) diff --git a/AstrakoBot/modules/gtranslator.py b/AstrakoBot/modules/gtranslator.py index 3808860796..34d7744728 100644 --- a/AstrakoBot/modules/gtranslator.py +++ b/AstrakoBot/modules/gtranslator.py @@ -1,88 +1,162 @@ -from emoji import UNICODE_EMOJI -from google_trans_new import LANGUAGES, google_translator from telegram import ParseMode, Update from telegram.ext import CallbackContext, run_async +import requests +import urllib.parse from AstrakoBot import dispatcher from AstrakoBot.modules.disable import DisableAbleCommandHandler from AstrakoBot.modules.helper_funcs.misc import delete from AstrakoBot.modules.sql.clear_cmd_sql import get_clearcmd +languages = { + "af": "Afrikaans", + "sq": "Albanian", + "am": "Amharic", + "ar": "Arabic", + "hy": "Armenian", + "az": "Azerbaijani", + "eu": "Basque", + "be": "Belarusian", + "bn": "Bengali", + "bs": "Bosnian", + "bg": "Bulgarian", + "ca": "Catalan", + "ceb": "Cebuano", + "ny": "Chichewa", + "zh-cn": "Chinese", + "co": "Corsican", + "hr": "Croatian", + "cs": "Czech", + "da": "Danish", + "nl": "Dutch", + "en": "English", + "eo": "Esperanto", + "et": "Estonian", + "tl": "Filipino", + "fi": "Finnish", + "fr": "French", + "fy": "Frisian", + "gl": "Galician", + "ka": "Georgian", + "de": "German", + "el": "Greek", + "gu": "Gujarati", + "ht": "Haitian Creole", + "ha": "Hausa", + "haw": "Hawaiian", + "iw": "Hebrew", + "hi": "Hindi", + "hmn": "Hmong", + "hu": "Hungarian", + "is": "Icelandic", + "ig": "Igbo", + "id": "Indonesian", + "ga": "Irish", + "it": "Italian", + "ja": "Japanese", + "jw": "Javanese", + "kn": "Kannada", + "kk": "Kazakh", + "km": "Khmer", + "rw": "Kinyarwanda", + "ko": "Korean", + "ku": "Kurdish", + "ky": "Kyrgyz", + "lo": "Lao", + "la": "Latin", + "lv": "Latvian", + "lt": "Lithuanian", + "lb": "Luxembourgish", + "mk": "Macedonian", + "mg": "Malagasy", + "ms": "Malay", + "ml": "Malayalam", + "mt": "Maltese", + "mi": "Maori", + "mr": "Marathi", + "mn": "Mongolian", + "my": "Myanmar", + "ne": "Nepali", + "no": "Norwegian", + "or": "Odia", + "ps": "Pashto", + "fa": "Persian", + "pl": "Polish", + "pt": "Portuguese", + "pa": "Punjabi", + "ro": "Romanian", + "ru": "Russian", + "sm": "Samoan", + "gd": "Scots Gaelic", + "sr": "Serbian", + "st": "Sesotho", + "sn": "Shona", + "sd": "Sindhi", + "si": "Sinhala", + "sk": "Slovak", + "sl": "Slovenian", + "so": "Somali", + "es": "Spanish", + "su": "Sundanese", + "sw": "Swahili", + "sv": "Swedish", + "tg": "Tajik", + "ta": "Tamil", + "tt": "Tatar", + "te": "Telugu", + "th": "Thai", + "tr": "Turkish", + "tk": "Turkmen", + "uk": "Ukrainian", + "ur": "Urdu", + "ug": "Uyghur", + "uz": "Uzbek", + "vi": "Vietnamese", + "cy": "Welsh", + "xh": "Xhosa", + "yi": "Yiddish", + "yo": "Yoruba", + "zu": "Zulu" +} + + +def tr(text, srcLang, targetLang): + text = urllib.parse.quote_plus(text) + + # Try to get response at least 3 times + for _ in range(3): + try: + response = requests.get("https://translate.googleapis.com/translate_a/single?client=gtx&sl={}&tl={}&dt=t&q={}".format(srcLang, targetLang, text), timeout=4) + break + except (requests.exceptions.Timeout, requests.exceptions.ConnectionError): + pass + else: + return "" + + if response.status_code != 200: + return "" + data = response.json() + translated_text = "" + for item in data[0]: + translated_text += item[0] + return translated_text def totranslate(update: Update, context: CallbackContext): message = update.effective_message chat = update.effective_chat - problem_lang_code = [] + args = context.args + reply = message.reply_to_message text = "" - for key in LANGUAGES: - if "-" in key: - problem_lang_code.append(key) - - try: - if message.reply_to_message: - args = update.effective_message.text.split(None, 1) - if message.reply_to_message.text: - text = message.reply_to_message.text - elif message.reply_to_message.caption: - text = message.reply_to_message.caption - - try: - source_lang = args[1].split(None, 1)[0] - except (IndexError, AttributeError): - source_lang = "en" - + if reply: + if reply.document or reply.video or reply.animation or reply.photo: + if reply.caption: + text = reply.caption else: - args = update.effective_message.text.split(None, 2) - text = args[2] - source_lang = args[1] - - if source_lang.count("-") == 2: - for lang in problem_lang_code: - if lang in source_lang: - if source_lang.startswith(lang): - dest_lang = source_lang.rsplit("-", 1)[1] - source_lang = source_lang.rsplit("-", 1)[0] - else: - dest_lang = source_lang.split("-", 1)[1] - source_lang = source_lang.split("-", 1)[0] - elif source_lang.count("-") == 1: - for lang in problem_lang_code: - if lang in source_lang: - dest_lang = source_lang - source_lang = None - break - if dest_lang is None: - dest_lang = source_lang.split("-")[1] - source_lang = source_lang.split("-")[0] - else: - dest_lang = source_lang - source_lang = None - - exclude_list = UNICODE_EMOJI.keys() - for emoji in exclude_list: - if emoji in text: - text = text.replace(emoji, "") - - trl = google_translator() - if source_lang is None: - detection = trl.detect(text) - trans_str = trl.translate(text, lang_tgt=dest_lang) - delmsg = message.reply_text( - f"Translated from `{detection[0]}` to `{dest_lang}`:\n`{trans_str}`", - parse_mode=ParseMode.MARKDOWN, - ) - else: - trans_str = trl.translate(text, lang_tgt=dest_lang, lang_src=source_lang) - delmsg = message.reply_text( - f"Translated from `{source_lang}` to `{dest_lang}`:\n`{trans_str}`", - parse_mode=ParseMode.MARKDOWN, - ) + text = reply.text - deletion(update, context, delmsg) - - except IndexError: + if not args or text == "": delmsg = update.effective_message.reply_text( - "Reply to messages or write messages from other languages ​​for translating into the intended language\n\n" + "Reply to messages from other languages for translating into the intended language\n\n" "Example: `/tr en-ml` to translate from English to Malayalam\n" "Or use: `/tr ml` for automatic detection and translating it into Malayalam.\n" "See [List of Language Codes](t.me/OnePunchSupport/12823) for a list of language codes.", @@ -90,11 +164,54 @@ def totranslate(update: Update, context: CallbackContext): disable_web_page_preview=True, ) deletion(update, context, delmsg) - except ValueError: - delmsg = update.effective_message.reply_text("The intended language is not found!") - deletion(update, context, delmsg) + return + if "-" in args[0]: + try: + srcLang = args[0].split('-')[0] + except: + srcLang = "auto" + try: + targetLang = args[0].split('-')[1] + except: + message.reply_text("Well damn, that does not look like a target language") + return else: + try: + srcLang = args[0] + targetLang = args[1] + except: + targetLang = args[0] + srcLang = "auto" + + # Convert them to lowercase so we don't get issues + srcLang = srcLang.lower() + targetLang = targetLang.lower() + + + # If target language is 'english', set it to 'en' + for key, value in languages.items(): + if value.lower() == targetLang: + targetLang = key + break + + # If source language is 'english', set it to 'en' + for key, value in languages.items(): + if value.lower() == srcLang: + srcLang = key + break + + # Make sure language actually exists + if targetLang not in languages: + message.reply_text("That does not look like a valid language.") + return + + reply_msg = message.reply_text("Translating to {}...".format(languages[targetLang])) + translated = tr(text, srcLang, targetLang) + if translated == "": + reply_msg.edit_text("Failed to translate to {}. Try again in a few seconds or try another target language!".format(languages[targetLang])) return + reply_msg.edit_text("Translated to {}:\n\n".format(languages[targetLang]) + translated) + return def deletion(update: Update, context: CallbackContext, delmsg): From 3078dbd68bb9f19e35a1db20213d55f108b39a5e Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sat, 4 Mar 2023 19:48:42 -0300 Subject: [PATCH 053/153] youtube: Rework using pytube --- AstrakoBot/modules/media.py | 2 +- AstrakoBot/modules/youtube.py | 274 ++++++++++++++++------------------ requirements.txt | 3 +- 3 files changed, 130 insertions(+), 149 deletions(-) diff --git a/AstrakoBot/modules/media.py b/AstrakoBot/modules/media.py index c8be181dc1..32dc955ba9 100644 --- a/AstrakoBot/modules/media.py +++ b/AstrakoBot/modules/media.py @@ -14,7 +14,7 @@ *Text to speech:* • `/tts `: convert text to speech\n *Youtube:* - • `/youtube`, `/yt` ``: download songs or videos from youtube in standar quality + • `/youtube`, `/yt` ` [type] [quality]`: download songs or videos from youtube. Quality limit is 720p; Type can be either video or audio. """ __mod_name__ = "Media" diff --git a/AstrakoBot/modules/youtube.py b/AstrakoBot/modules/youtube.py index e6765e0ac1..b4ec2d3be4 100644 --- a/AstrakoBot/modules/youtube.py +++ b/AstrakoBot/modules/youtube.py @@ -1,173 +1,155 @@ -import os, glob, json - +import os +import json +import random +import string from datetime import datetime -from AstrakoBot.modules.sql.clear_cmd_sql import get_clearcmd from telegram import Bot, Update, ParseMode, InlineKeyboardButton, InlineKeyboardMarkup from telegram.ext import CommandHandler, CallbackQueryHandler, CallbackContext, run_async +from AstrakoBot.modules.sql.clear_cmd_sql import get_clearcmd from AstrakoBot import dispatcher from AstrakoBot.modules.disable import DisableAbleCommandHandler from AstrakoBot.modules.helper_funcs.misc import delete -from youtubesearchpython import VideosSearch +import pytube +from moviepy.editor import * -from youtube_dl import YoutubeDL +def get_random(): + letters = string.ascii_lowercase + return ''.join(random.choice(letters) for i in range(10)) +def is_ytl(url): + return 'youtube.com/watch?v=' in url or 'youtu.be/' in url -def youtube(update: Update, context: CallbackContext): - bot = context.bot - message = update.effective_message - chat = update.effective_chat - yt = message.text[len("/youtube ") :] - if yt: - search = VideosSearch(yt, limit=1) - result = search.result() +def format_link(youtube_link): + if "youtu.be/" in youtube_link: + youtube_link = youtube_link.replace('youtu.be/', 'youtube.com/watch?v=') + if '&ab_channel' in youtube_link: + youtube_link = youtube_link.split('&ab_channel')[0] + return youtube_link + +def dyt_video(youtube_link, resolution, filename): + youtube_link = format_link(youtube_link) + youtube = pytube.YouTube(youtube_link) + # Try to get video length at least 5 times + for i in range(5): try: - url = result["result"][0]["link"] - title = result["result"][0]["title"] + video_length = youtube.length / 60 + break except: - return message.reply_text( - "Failed to find song or video", - ) - - buttons = [ - [ - InlineKeyboardButton("🎵", callback_data=f"youtube;audio;{url}"), - InlineKeyboardButton("🎥", callback_data=f"youtube;video;{url}"), - InlineKeyboardButton("🚫", callback_data=f"youtube;cancel;"""), - ] - ] - - msg = "*Preparing to upload file:*\n" - msg += f"`{title}`\n" - delmsg = message.reply_text( - msg, - parse_mode=ParseMode.MARKDOWN, - reply_markup = InlineKeyboardMarkup(buttons) - ) + if i == 4: + return "Could not get video length! Try again in a few seconds or try another video." - else: - delmsg = message.reply_text("Specify a song or video" - ) - cleartime = get_clearcmd(chat.id, "youtube") - - if cleartime: - context.dispatcher.run_async(delete, delmsg, cleartime.time) + if video_length > 10: # 10 minutes limit for video + return "Video is longer than 10 minutes! Try again with a shorter one." + + video_streams = youtube.streams + available_resolutions = [stream.resolution for stream in video_streams if stream.resolution is not None] + if resolution not in available_resolutions: + resolution = max(available_resolutions, key=lambda x: int(x[:-1])) + + video_stream = youtube.streams.filter(resolution=resolution, progressive=True).order_by('resolution').desc().first() + audio_stream = youtube.streams.filter(only_audio=True).order_by('abr').desc().first() + + video_file = video_stream.download(filename="{}.mp4".format(get_random())) + audio_file = audio_stream.download(filename="{}.mp3".format(get_random())) + + video_clip = VideoFileClip(video_file) + audio_clip = AudioFileClip(audio_file) + final_clip = video_clip.set_audio(audio_clip) + final_clip.write_videofile(filename, codec='libx264', audio_codec='aac') + + try: + os.remove(video_file) + os.remove(audio_file) + except: + pass + + return "" + +def dyt_audio(youtube_link, filename): + youtube_link = format_link(youtube_link) + youtube = YouTube(youtube_link) + + # Try to get video length at least 5 times, even with this, pytube may fail sometimes. + for i in range(5): + try: + video_length = youtube.length / 60 + break + except: + if i == 5: + return "Could not get video length! Try again in a few seconds or try another video." + if video_length > 30: # 30 minutes limit for audio + return "Audio is longer than 30 minutes! Try again with a shorter one." -def youtube_callback(update: Update, context: CallbackContext): - bot = context.bot + audio_stream = youtube.streams.filter(only_audio=True, abr="128kbps").first() + + try: + audio_stream.download(filename=filename) + except: + return "Unknown Error." + return "" + +def youtube(update: Update, context: CallbackContext): + message_id = update.message.message_id message = update.effective_message chat = update.effective_chat - query = update.callback_query - - media = query.data.split(";") - media_type = media[1] - media_url = media[2] - - if media_type == "audio": - deltext = message.edit_text("Processing song...") - opts = { - "format": "bestaudio/best", - "addmetadata": True, - "geo_bypass": True, - "nocheckcertificate": True, - "postprocessors": [ - { - "key": "FFmpegExtractAudio", - "preferredcodec": "mp3", - "preferredquality": "128", - } - ], - "outtmpl": "%(title)s.%(etx)s", - "quiet": True, - "logtostderr": False, - } - - codec = "mp3" - - with YoutubeDL(opts) as rip: - rip_data = rip.extract_info(media_url, download=False, process=False) - if int(rip_data['duration'] / 60) < 10: - try: - rip_data = rip.extract_info(media_url) - delmsg = bot.send_audio( - chat_id = chat.id, - audio = open(f"{rip_data['title']}.{codec}", "rb"), - duration = int(rip_data['duration']), - title = str(rip_data['title']), - parse_mode = ParseMode.HTML - ) - context.dispatcher.run_async(delete, deltext, 0) - except: - delmsg = message.edit_text( - "Song is too large for processing, or any other error happened. Try again later" - ) - else: - delmsg = message.edit_text( - "Song is too large for processing. Duration is limited to 10 minutes max" - ) - - elif media_type == "video": - deltext = message.edit_text("Processing video...") - opts = { - "format": "best", - "addmetadata": True, - "geo_bypass": True, - "nocheckcertificate": True, - "postprocessors": [ - { - "key": "FFmpegVideoConvertor", - "preferedformat": "mp4", - } - ], - "outtmpl": "%(title)s.mp4", - "quiet": True, - "logtostderr": False, - } - - codec = "mp4" - - with YoutubeDL(opts) as rip: - rip_data = rip.extract_info(media_url, download=False, process=False) - if int(rip_data['duration'] / 60) < 10: - try: - rip_data = rip.extract_info(media_url) - delmsg = bot.send_video( - chat_id = chat.id, - video = open(f"{rip_data['title']}.{codec}", "rb"), - duration = int(rip_data['duration']), - caption = rip_data['title'], - supports_streaming = True, - parse_mode = ParseMode.HTML - ) - context.dispatcher.run_async(delete, deltext, 0) - except: - delmsg = message.edit_text( - "Video is too large for processing, or any other error happened. Try again later" - ) - else: - delmsg = message.edit_text( - "Video is too large for processing. Duration is limited to 10 minutes max" - ) + args = context.args + chat_id = update.effective_chat.id + if not args or not is_ytl(args[0]): + message.reply_text("Specify a song or video!") + return + yt = args[0] + avail_res = ["720p", "480p", "360p", "240p", "144p"] # Limit to HD due to file size + types = ["video", "audio"] + type = "video" + res = avail_res[0] + for i in types: + if i in args: + type = i + break + for i in avail_res: + if i in args or i[:-1] in args: + res = i + if not res.endswith("p"): + res += "p" + break + + filename = get_random() + + if type == "video": + filename += ".mp4" + msg = message.reply_text("Downloading as video, Please wait...") + ret = dyt_video(yt, res, filename) + caption = "Type: mp4\nQuality: {}".format(res) + if ret == "": + msg.edit_text("Uploading...") + with open(filename, "rb") as video: + context.bot.send_video(chat_id=chat_id, video=video, caption=caption, reply_to_message_id=message_id) + msg.delete() + else: + msg.edit_text(ret) + else: - delmsg = message.edit_text("Canceling...") - context.dispatcher.run_async(delete, delmsg, 1) + filename += ".mp3" + msg = message.reply_text("Downloading as mp3 audio, Please wait...") + ret = dyt_video(yt, res, filename) + caption = "Type: mp3\nQuality: 128kbps".format(res) + if ret == "": + msg.edit_text("Uploading...") + with open(filename, "rb") as audio: + context.bot.send_audio(chat_id=chat_id, audio=audio, caption=caption.format(type), reply_to_message_id=message_id) + msg.delete() + else: + msg.edit_text(ret) try: - os.remove(f"{rip_data['title']}.{codec}") + os.remove(filename) except Exception: pass - cleartime = get_clearcmd(chat.id, "youtube") - - if cleartime: - context.dispatcher.run_async(delete, delmsg, cleartime.time) - + return YOUTUBE_HANDLER = DisableAbleCommandHandler(["youtube", "yt"], youtube, run_async = True) -YOUTUBE_CALLBACKHANDLER = CallbackQueryHandler( - youtube_callback, pattern="youtube*", run_async=True -) dispatcher.add_handler(YOUTUBE_HANDLER) -dispatcher.add_handler(YOUTUBE_CALLBACKHANDLER) diff --git a/requirements.txt b/requirements.txt index 23827ba4f2..aebfed5143 100644 --- a/requirements.txt +++ b/requirements.txt @@ -40,10 +40,9 @@ hachoir pybase64 pySmartDL validators -youtube_dl -youtube-search-python gtts pretty_errors tswift PyYAML humanize +pytube From 7afbe00144dfcaf8668db2b8624a732f9bc44ed5 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 5 Mar 2023 11:05:59 -0300 Subject: [PATCH 054/153] ud: send message as plain text if markdown failed --- AstrakoBot/modules/ud.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/AstrakoBot/modules/ud.py b/AstrakoBot/modules/ud.py index bbed60b121..d723a839f7 100644 --- a/AstrakoBot/modules/ud.py +++ b/AstrakoBot/modules/ud.py @@ -5,7 +5,7 @@ from AstrakoBot.modules.sql.clear_cmd_sql import get_clearcmd from telegram import ParseMode, Update from telegram.ext import CallbackContext, run_async - +import re def ud(update: Update, context: CallbackContext): message = update.effective_message @@ -18,7 +18,15 @@ def ud(update: Update, context: CallbackContext): reply_text = f'*{text}*\n\n{results["list"][0]["definition"]}\n\n_{results["list"][0]["example"]}_' except: reply_text = "No results found." - delmsg = message.reply_text(reply_text, parse_mode=ParseMode.MARKDOWN) + try: + delmsg = message.reply_text(reply_text, parse_mode=ParseMode.MARKDOWN) + except: + reply_text = re.sub(r'\*(.*?)\*', r'\1', reply_text) + plain_text = reply_text.split('\n') + for i in range(1, len(plain_text)): + plain_text[i] = plain_text[i].replace('_', '') + plain_text = '\n'.join(plain_text) + delmsg = message.reply_text(plain_text) cleartime = get_clearcmd(chat.id, "ud") From 1cf0a0a3a7c2d1f4f975992f8b3551e4684b2b7c Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Mon, 6 Mar 2023 09:16:47 -0300 Subject: [PATCH 055/153] requirements: add moviepy --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index aebfed5143..6fe63c6319 100644 --- a/requirements.txt +++ b/requirements.txt @@ -46,3 +46,4 @@ tswift PyYAML humanize pytube +moviepy From b279c9fcb1e81478c519b5e627598dbc9c0bdbb0 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Mon, 6 Mar 2023 21:52:09 -0300 Subject: [PATCH 056/153] youtube: allow audio-only --- AstrakoBot/modules/youtube.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AstrakoBot/modules/youtube.py b/AstrakoBot/modules/youtube.py index b4ec2d3be4..bdf64ddf4a 100644 --- a/AstrakoBot/modules/youtube.py +++ b/AstrakoBot/modules/youtube.py @@ -69,7 +69,7 @@ def dyt_video(youtube_link, resolution, filename): def dyt_audio(youtube_link, filename): youtube_link = format_link(youtube_link) - youtube = YouTube(youtube_link) + youtube = pytube.YouTube(youtube_link) # Try to get video length at least 5 times, even with this, pytube may fail sometimes. for i in range(5): @@ -134,7 +134,7 @@ def youtube(update: Update, context: CallbackContext): else: filename += ".mp3" msg = message.reply_text("Downloading as mp3 audio, Please wait...") - ret = dyt_video(yt, res, filename) + ret = dyt_audio(yt, filename) caption = "Type: mp3\nQuality: 128kbps".format(res) if ret == "": msg.edit_text("Uploading...") From ce3ead8f3a184d1bc2a658de2a96807b56cc23cb Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Tue, 7 Mar 2023 09:40:45 -0300 Subject: [PATCH 057/153] gtranslator: default to english if no args --- AstrakoBot/modules/gtranslator.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/AstrakoBot/modules/gtranslator.py b/AstrakoBot/modules/gtranslator.py index 34d7744728..de8b988241 100644 --- a/AstrakoBot/modules/gtranslator.py +++ b/AstrakoBot/modules/gtranslator.py @@ -151,11 +151,11 @@ def totranslate(update: Update, context: CallbackContext): if reply.document or reply.video or reply.animation or reply.photo: if reply.caption: text = reply.caption - else: + elif reply.text: text = reply.text - if not args or text == "": - delmsg = update.effective_message.reply_text( + if text == "": + delmsg = message.reply_text( "Reply to messages from other languages for translating into the intended language\n\n" "Example: `/tr en-ml` to translate from English to Malayalam\n" "Or use: `/tr ml` for automatic detection and translating it into Malayalam.\n" @@ -165,7 +165,10 @@ def totranslate(update: Update, context: CallbackContext): ) deletion(update, context, delmsg) return - if "-" in args[0]: + if not args: + srcLang = "auto" + targetLang = "en" # Default to english if no arguments were given + elif "-" in args[0]: try: srcLang = args[0].split('-')[0] except: From d85e7bc004a0c7f6c2c47d73d64a781ed2004f78 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Tue, 7 Mar 2023 11:09:29 -0300 Subject: [PATCH 058/153] warns: add rmwarn - Remove user's latest warning --- AstrakoBot/modules/warns.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/AstrakoBot/modules/warns.py b/AstrakoBot/modules/warns.py index 87e58321e1..db91ef2af6 100644 --- a/AstrakoBot/modules/warns.py +++ b/AstrakoBot/modules/warns.py @@ -208,6 +208,30 @@ def warn_user(update: Update, context: CallbackContext) -> str: message.reply_text("That looks like an invalid User ID to me.") return "" +@user_admin +@bot_admin +@loggable +def rm_last_warn(update: Update, context: CallbackContext) -> str: + args = context.args + message: Optional[Message] = update.effective_message + chat: Optional[Chat] = update.effective_chat + user: Optional[User] = update.effective_user + + user_id = extract_user(message, args) + + if user_id: + sql.remove_warn(user_id, chat.id) + message.reply_text("Latest warning has been removed!") + unwarned = chat.get_member(user_id).user + return ( + f"{html.escape(chat.title)}:\n" + f"#UNWARN\n" + f"Admin: {mention_html(user.id, user.first_name)}\n" + f"User: {mention_html(unwarned.id, unwarned.first_name)}" + ) + else: + message.reply_text("No user has been designated!") + return "" @user_admin @bot_admin @@ -492,6 +516,7 @@ def __chat_settings__(chat_id, user_id): *Admins only:* • `/warn `*:* warn a user. After 3 warns, the user will be banned from the group. Can also be used as a reply. • `/dwarn `*:* warn a user and delete the message. After 3 warns, the user will be banned from the group. Can also be used as a reply. + • `/rmwarn`, `/unwarn` ``*:* removes user's latest warning. Can also be used as a reply. • `/resetwarn `*:* reset the warns for a user. Can also be used as a reply. • `/addwarn `*:* set a warning filter on a certain keyword. If you want your keyword to \ be a sentence, encompass it with quotes, as such: `/addwarn "very angry" This is an angry user`. @@ -503,6 +528,7 @@ def __chat_settings__(chat_id, user_id): __mod_name__ = "Warnings" WARN_HANDLER = CommandHandler(["warn", "dwarn"], warn_user, filters=Filters.chat_type.groups, run_async=True) +UNWARN_HANDLER = CommandHandler(["unwarn", "rmwarn"], rm_last_warn, filters=Filters.chat_type.groups, run_async=True) RESET_WARN_HANDLER = CommandHandler( ["resetwarn", "resetwarns"], reset_warns, filters=Filters.chat_type.groups, run_async=True ) @@ -524,6 +550,7 @@ def __chat_settings__(chat_id, user_id): ) dispatcher.add_handler(WARN_HANDLER) +dispatcher.add_handler(UNWARN_HANDLER) dispatcher.add_handler(CALLBACK_QUERY_HANDLER) dispatcher.add_handler(RESET_WARN_HANDLER) dispatcher.add_handler(MYWARNS_HANDLER) From 65c1162ce24c7429c41d90d477fcb2c62e7b4ef7 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Tue, 7 Mar 2023 13:19:06 -0300 Subject: [PATCH 059/153] super_users: don't print deleted accounts --- AstrakoBot/modules/super_users.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/AstrakoBot/modules/super_users.py b/AstrakoBot/modules/super_users.py index d85d6d01fb..e7720922d3 100644 --- a/AstrakoBot/modules/super_users.py +++ b/AstrakoBot/modules/super_users.py @@ -377,7 +377,8 @@ def whitelistlist(update: Update, context: CallbackContext): user_id = int(each_user) try: user = bot.get_chat(user_id) - + if user.first_name == "": + continue msg += f"• {mention_html(user_id, html.escape(user.first_name))}\n" except TelegramError: pass @@ -393,6 +394,8 @@ def supportlist(update: Update, context: CallbackContext): user_id = int(each_user) try: user = bot.get_chat(user_id) + if user.first_name == "": + continue msg += f"• {mention_html(user_id, html.escape(user.first_name))}\n" except TelegramError: pass @@ -409,6 +412,8 @@ def sudolist(update: Update, context: CallbackContext): user_id = int(each_user) try: user = bot.get_chat(user_id) + if user.first_name == "": + continue msg += f"• {mention_html(user_id, html.escape(user.first_name))}\n" except TelegramError: pass @@ -425,6 +430,8 @@ def devlist(update: Update, context: CallbackContext): user_id = int(each_user) try: user = bot.get_chat(user_id) + if user.first_name == "": + continue msg += f"• {mention_html(user_id, html.escape(user.first_name))}\n" except TelegramError: pass From 5179271a75be929f45041103024b9d96de0c6a1b Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Tue, 7 Mar 2023 17:26:04 -0300 Subject: [PATCH 060/153] global_bans: fix deprecated call --- AstrakoBot/modules/global_bans.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/global_bans.py b/AstrakoBot/modules/global_bans.py index aefa0f79a0..3677a350cc 100644 --- a/AstrakoBot/modules/global_bans.py +++ b/AstrakoBot/modules/global_bans.py @@ -215,7 +215,7 @@ def gban(update: Update, context: CallbackContext): continue try: - bot.kick_chat_member(chat_id, user_id) + bot.ban_chat_member(chat_id, user_id) gbanned_chats += 1 except BadRequest as excp: From 81856f6bb5c6b397faadf99858621da35344d4c2 Mon Sep 17 00:00:00 2001 From: Luke Date: Mon, 20 Mar 2023 11:24:49 +0200 Subject: [PATCH 061/153] cron: split the backup file into 45mb since bots can't send files larger than 50mb --- AstrakoBot/modules/cron_jobs.py | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/AstrakoBot/modules/cron_jobs.py b/AstrakoBot/modules/cron_jobs.py index ffc46b6b79..92c7e43888 100644 --- a/AstrakoBot/modules/cron_jobs.py +++ b/AstrakoBot/modules/cron_jobs.py @@ -1,3 +1,4 @@ +import glob import os import shutil import datetime @@ -56,21 +57,30 @@ def backup_db(_: CallbackContext): print("config copied") shutil.copyfile('AstrakoBot/config.py', '{}/config.py'.format(bkplocation)) log.info("zipping the backup") - zipcmd = "zip --password '{}' {} {}/*".format(zip_pass, bkplocation, bkplocation) + zipcmd = "zip -s 45m --password '{}' {} {}/*".format(zip_pass, bkplocation, bkplocation) zipinfo = "zipping db backup" log.info("zip started") term(zipcmd, zipinfo) log.info("zip done") sleep(1) - with open('backups/{}'.format(f'{datenow}.zip'), 'rb') as bkp: - nm = "{} backup \n".format(bot.username) + datenow - bot.send_document(OWNER_ID, - document=bkp, - caption=nm, - timeout=20 - ) + for file in glob.glob('backups/{}'.format(f'{datenow}.z*')): + with open(file, 'rb') as bkp: + nm = "{} backup \n".format(bot.username) + datenow + try: + bot.send_document(OWNER_ID, + document=bkp, + caption=nm, + timeout=20 + ) + except Exception as err: + bot.send_message(OWNER_ID, "Failed to send backup:\n {}".format(err)) log.info("removing zipped files") shutil.rmtree("backups/{}".format(datenow)) + for file in glob.glob('backups/{}'.format(f'202*.z*')): + if os.path.isfile(file) \ + and os.path.getmtime(file) < (datetime.datetime.now() - datetime.timedelta(days=5)).timestamp(): + os.remove(file) + log.info("backup done") tmp.edit_text("Backup complete!") sleep(5) From 8a99d89f53b2623c1ee66001fd0db50d3efa7753 Mon Sep 17 00:00:00 2001 From: Gabriel <88463214+Gabriel2392@users.noreply.github.com> Date: Mon, 3 Apr 2023 03:40:54 -0300 Subject: [PATCH 062/153] warns: do not reply to non-existent messages (#51) --- AstrakoBot/modules/warns.py | 1 + 1 file changed, 1 insertion(+) diff --git a/AstrakoBot/modules/warns.py b/AstrakoBot/modules/warns.py index db91ef2af6..ad5b10c3b1 100644 --- a/AstrakoBot/modules/warns.py +++ b/AstrakoBot/modules/warns.py @@ -194,6 +194,7 @@ def warn_user(update: Update, context: CallbackContext) -> str: if ( message.reply_to_message and message.reply_to_message.from_user.id == user_id + and not message.text.startswith("/d") ): return warn( message.reply_to_message.from_user, From 399746726c37bedfe42fe8ac9b572b19d9e0f791 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 7 May 2023 15:06:35 +0000 Subject: [PATCH 063/153] userinfo: Don't fail when there is no username --- AstrakoBot/modules/userinfo.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/AstrakoBot/modules/userinfo.py b/AstrakoBot/modules/userinfo.py index 536c1aa219..4b30c1acef 100644 --- a/AstrakoBot/modules/userinfo.py +++ b/AstrakoBot/modules/userinfo.py @@ -58,12 +58,17 @@ def get_id(update: Update, context: CallbackContext): ) else: - - user = bot.get_chat(user_id) - msg.reply_text( - f"{html.escape(user.first_name)}'s id is {user.id}.", - parse_mode=ParseMode.HTML, - ) + try: + user = bot.get_chat(user_id) + msg.reply_text( + f"{html.escape(user.first_name)}'s id is {user.id}.", + parse_mode=ParseMode.HTML, + ) + except: + msg.reply_text( + f"Their id is {user_id}.", + parse_mode=ParseMode.HTML, + ) else: From c8872169ad32592466c096d9a7e7e5f173c151b3 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 7 May 2023 15:11:55 +0000 Subject: [PATCH 064/153] antiflood: Don't try to mute group's linked channel --- AstrakoBot/modules/antiflood.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AstrakoBot/modules/antiflood.py b/AstrakoBot/modules/antiflood.py index 33c63cce8e..3fce4f8bdc 100644 --- a/AstrakoBot/modules/antiflood.py +++ b/AstrakoBot/modules/antiflood.py @@ -39,8 +39,8 @@ def check_flood(update: Update, context: CallbackContext) -> str: if not user: # ignore channels return "" - # ignore admins and whitelists - if is_user_admin(chat, user.id) or user.id in WHITELIST_USERS: + # ignore admins, whitelists and telegram's native tech + if is_user_admin(chat, user.id) or user.id in WHITELIST_USERS or user.id == 777000: sql.update_flood(chat.id, None) return "" # ignore approved users From 16e86103d1fe3047720eaf7d9a8eda368f841f4a Mon Sep 17 00:00:00 2001 From: Luke Date: Sun, 7 May 2023 15:27:45 +0000 Subject: [PATCH 065/153] warns: allow_sending_without_reply=True on warn --- AstrakoBot/modules/systools.py | 4 ++-- AstrakoBot/modules/warns.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/AstrakoBot/modules/systools.py b/AstrakoBot/modules/systools.py index f195b89766..8dde8e418b 100644 --- a/AstrakoBot/modules/systools.py +++ b/AstrakoBot/modules/systools.py @@ -122,14 +122,14 @@ def status(update: Update, context: CallbackContext): uname = platform.uname() msg += "*System information*\n" msg += f"OS: `{uname.system}`\n" - msg += f"Version: `{uname.version}`\n" + msg += f"Version: `{uname.version.split(' ')[0]}`\n" msg += f"Release: `{uname.release}`\n" msg += f"Processor: `{uname.processor}`\n" boot_time_timestamp = psutil.boot_time() bt = datetime.fromtimestamp(boot_time_timestamp) msg += f"Boot time: `{bt.day}/{bt.month}/{bt.year} - {bt.hour}:{bt.minute}:{bt.second}`\n" msg += f"CPU cores: `{psutil.cpu_count(logical=False)} physical, {psutil.cpu_count()} logical`\n" - msg += f"CPU freq: `{psutil.cpu_freq().current:.2f}Mhz`\n" + msg += f"CPU freq: `{psutil.cpu_freq().current:.2f}Mhz`\n" if psutil.cpu_freq() else "" msg += f"CPU usage: `{psutil.cpu_percent()}%`\n" ram = psutil.virtual_memory() msg += f"RAM: `{get_size(ram.total)} - {get_size(ram.used)} used ({ram.percent}%)`\n" diff --git a/AstrakoBot/modules/warns.py b/AstrakoBot/modules/warns.py index ad5b10c3b1..8811c48880 100644 --- a/AstrakoBot/modules/warns.py +++ b/AstrakoBot/modules/warns.py @@ -135,7 +135,7 @@ def warn( ) try: - message.reply_text(reply, reply_markup=keyboard, parse_mode=ParseMode.HTML) + message.reply_text(reply, reply_markup=keyboard, parse_mode=ParseMode.HTML, allow_sending_without_reply=True) except BadRequest as excp: if excp.message == "Reply message not found": # Do not reply From f38dae3d626e7aaf997b88ce235acaab258e295e Mon Sep 17 00:00:00 2001 From: Luke <67458252+itsLuuke@users.noreply.github.com> Date: Sun, 7 May 2023 18:34:25 +0300 Subject: [PATCH 066/153] specify sqlalchemy version in requirements --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 6fe63c6319..517fcdad9f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,7 +3,7 @@ emoji==1.7.0 lxml beautifulsoup4 requests -sqlalchemy +sqlalchemy==1.4.11 python-telegram-bot==13.14 psycopg2-binary feedparser From 5302b2caa0bbf78a930298a6fc9dfebcd79fa75d Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sat, 19 Aug 2023 14:40:59 -0300 Subject: [PATCH 067/153] android: Fix getfw and checkfw * Also, recommend Samfw as it's the fastest one. --- AstrakoBot/modules/android.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/AstrakoBot/modules/android.py b/AstrakoBot/modules/android.py index 47e7341138..295f3fadfc 100644 --- a/AstrakoBot/modules/android.py +++ b/AstrakoBot/modules/android.py @@ -17,6 +17,9 @@ from AstrakoBot.modules.github import getphh from AstrakoBot.modules.helper_funcs.misc import delete +rget_headers = { + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36" +} def magisk(update: Update, context: CallbackContext): message = update.effective_message @@ -55,14 +58,15 @@ def checkfw(update: Update, context: CallbackContext): temp, csc = args model = f'sm-' + temp if not temp.upper().startswith('SM-') else temp fota = get( - f'http://fota-cloud-dn.ospserver.net/firmware/{csc.upper()}/{model.upper()}/version.xml' + f'https://fota-cloud-dn.ospserver.net/firmware/{csc.upper()}/{model.upper()}/version.xml', + headers=rget_headers ) if fota.status_code != 200: msg = f"Couldn't check for {temp.upper()} and {csc.upper()}, please refine your search or try again later!" else: - page = BeautifulSoup(fota.content, 'lxml') + page = BeautifulSoup(fota.content, 'xml') os = page.find("latest").get("o") if page.find("latest").text.strip(): @@ -102,7 +106,8 @@ def getfw(update: Update, context: CallbackContext): temp, csc = args model = f'sm-' + temp if not temp.upper().startswith('SM-') else temp fota = get( - f'http://fota-cloud-dn.ospserver.net/firmware/{csc.upper()}/{model.upper()}/version.xml' + f'https://fota-cloud-dn.ospserver.net/firmware/{csc.upper()}/{model.upper()}/version.xml', + headers=rget_headers ) if fota.status_code != 200: @@ -113,10 +118,7 @@ def getfw(update: Update, context: CallbackContext): url2 = f'https://www.sammobile.com/samsung/firmware/{model.upper()}/{csc.upper()}/' url3 = f'https://sfirmware.com/samsung-{model.lower()}/#tab=firmwares' url4 = f'https://samfw.com/firmware/{model.upper()}/{csc.upper()}/' - fota = get( - f'http://fota-cloud-dn.ospserver.net/firmware/{csc.upper()}/{model.upper()}/version.xml' - ) - page = BeautifulSoup(fota.content, 'lxml') + page = BeautifulSoup(fota.content, 'xml') os = page.find("latest").get("o") msg = "" if page.find("latest").text.strip(): @@ -129,10 +131,10 @@ def getfw(update: Update, context: CallbackContext): msg += f'• Android: `{os}`\n' msg += '\n' msg += f'*Downloads for {model.upper()} and {csc.upper()}*\n' - btn = [[InlineKeyboardButton(text=f"samfrew.com", url = url1)]] - btn += [[InlineKeyboardButton(text=f"sammobile.com", url = url2)]] - btn += [[InlineKeyboardButton(text=f"sfirmware.com", url = url3)]] - btn += [[InlineKeyboardButton(text=f"samfw.com", url = url4)]] + btn = [[InlineKeyboardButton(text=f"Samfrew", url = url1)]] + btn += [[InlineKeyboardButton(text=f"Sammobile", url = url2)]] + btn += [[InlineKeyboardButton(text=f"SFirmware", url = url3)]] + btn += [[InlineKeyboardButton(text=f"Samfw (Recommended)", url = url4)]] else: msg = 'Give me something to fetch, like:\n`/getfw SM-N975F DBT`' From 647368cbfdce1f97c6af9ee5150152ca121fa545 Mon Sep 17 00:00:00 2001 From: Luke Date: Wed, 19 Jul 2023 17:52:12 +0300 Subject: [PATCH 068/153] use chatmember updates for welcome/goodbye --- AstrakoBot/modules/log_channel.py | 11 +- AstrakoBot/modules/welcome.py | 695 +++++++++++++++--------------- 2 files changed, 358 insertions(+), 348 deletions(-) diff --git a/AstrakoBot/modules/log_channel.py b/AstrakoBot/modules/log_channel.py index 28a0b28ffb..9e48a8525a 100644 --- a/AstrakoBot/modules/log_channel.py +++ b/AstrakoBot/modules/log_channel.py @@ -39,9 +39,16 @@ def log_action( result += "\nEvent Stamp: {}".format( datetime.utcnow().strftime(datetime_fmt) ) + try: + if message and chat.type == chat.SUPERGROUP: + if chat.username: + result += f'\nLink: click here' + else: + cid = str(chat.id).replace("-100", '') + result += f'\nLink: click here' + except AttributeError: + result += '\nLink: No link for manual actions.' - if message.chat.type == chat.SUPERGROUP and message.chat.username: - result += f'\nLink: click here' log_chat = sql.get_chat_log_channel(chat.id) if log_chat: send_log(context, log_chat, chat.id, result) diff --git a/AstrakoBot/modules/welcome.py b/AstrakoBot/modules/welcome.py index af0490de44..7c4d7e5b98 100644 --- a/AstrakoBot/modules/welcome.py +++ b/AstrakoBot/modules/welcome.py @@ -45,7 +45,7 @@ CommandHandler, Filters, MessageHandler, - run_async, + run_async, ChatMemberHandler, ) from telegram.utils.helpers import escape_markdown, mention_html, mention_markdown @@ -75,59 +75,66 @@ # do not async -def send(update, message, keyboard, backup_message): +def send(update, message, keyboard, backup_message, reply_to_message=None): chat = update.effective_chat - cleanserv = sql.clean_service(chat.id) - reply = update.message.message_id - # Clean service welcome - if cleanserv: - try: - dispatcher.bot.delete_message(chat.id, update.message.message_id) - except BadRequest: - pass - reply = False try: - msg = update.effective_message.reply_text( + msg = dispatcher.bot.send_message(chat.id, + message, + parse_mode=ParseMode.MARKDOWN, + reply_markup=keyboard, + disable_web_page_preview=True, + allow_sending_without_reply=True, + ) + except TypeError: + msg = dispatcher.bot.send_message(chat.id, message, parse_mode=ParseMode.MARKDOWN, reply_markup=keyboard, - reply_to_message_id=reply, + allow_sending_without_reply=True, ) except BadRequest as excp: if excp.message == "Reply message not found": - msg = update.effective_message.reply_text( + msg = dispatcher.bot.send_message(chat.id, message, parse_mode=ParseMode.MARKDOWN, reply_markup=keyboard, quote=False, + disable_web_page_preview=True, + allow_sending_without_reply=True, ) elif excp.message == "Button_url_invalid": - msg = update.effective_message.reply_text( + msg = dispatcher.bot.send_message(chat.id, markdown_parser( - backup_message + "\nNote: the current message has an invalid url " - "in one of its buttons. Please update." + backup_message + + "\nNote: the current message has an invalid url " + "in one of its buttons. Please update.", ), parse_mode=ParseMode.MARKDOWN, - reply_to_message_id=reply, + disable_web_page_preview=True, + allow_sending_without_reply=True, ) elif excp.message == "Unsupported url protocol": - msg = update.effective_message.reply_text( + msg = dispatcher.bot.send_message(chat.id, markdown_parser( - backup_message + "\nNote: the current message has buttons which " + backup_message + + "\nNote: the current message has buttons which " "use url protocols that are unsupported by " - "telegram. Please update." + "telegram. Please update.", ), parse_mode=ParseMode.MARKDOWN, - reply_to_message_id=reply, + disable_web_page_preview=True, + allow_sending_without_reply=True, ) elif excp.message == "Wrong url host": - msg = update.effective_message.reply_text( + msg = dispatcher.bot.send_message(chat.id, markdown_parser( - backup_message + "\nNote: the current message has some bad urls. " - "Please update." + backup_message + + "\nNote: the current message has some bad urls. " + "Please update.", ), parse_mode=ParseMode.MARKDOWN, - reply_to_message_id=reply, + disable_web_page_preview=True, + allow_sending_without_reply=True, ) LOGGER.warning(message) LOGGER.warning(keyboard) @@ -135,18 +142,34 @@ def send(update, message, keyboard, backup_message): elif excp.message == "Have no rights to send a message": return else: - msg = update.effective_message.reply_text( + msg = dispatcher.bot.send_message(chat.id, markdown_parser( - backup_message + "\nNote: An error occured when sending the " - "custom message. Please update." + backup_message + + "\nNote: An error occured when sending the " + "custom message. Please update.", ), parse_mode=ParseMode.MARKDOWN, - reply_to_message_id=reply, + disable_web_page_preview=True, + allow_sending_without_reply=True, + ) + LOGGER.exception( + "An error occured when sending a custom message to %s", + chat.id, ) - LOGGER.exception("Error in welcome") return msg +def welcomeFilter(update: Update, context: CallbackContext): + if update.effective_chat.type != "group" and update.effective_chat.type != "supergroup": + return + if nm := update.chat_member.new_chat_member: + om = update.chat_member.old_chat_member + if nm.status == nm.MEMBER and (om.status == nm.KICKED or om.status == nm.LEFT): + return new_member(update, context) + if (nm.status == nm.KICKED or nm.status == nm.LEFT) and \ + (om.status == nm.MEMBER or om.status == nm.ADMINISTRATOR or om.status == nm.CREATOR): + return left_member(update, context) + @loggable def new_member(update: Update, context: CallbackContext): bot, job_queue = context.bot, context.job_queue @@ -157,328 +180,302 @@ def new_member(update: Update, context: CallbackContext): should_welc, cust_welcome, cust_content, welc_type = sql.get_welc_pref(chat.id) welc_mutes = sql.welcome_mutes(chat.id) human_checks = sql.get_human_checks(user.id, chat.id) + new_mem = update.chat_member.new_chat_member.user - new_members = update.effective_message.new_chat_members + if new_mem.id == bot.id and not AstrakoBot.ALLOW_CHATS: + with suppress(BadRequest): + dispatcher.bot.send_message(chat.id, f"Groups are disabled for {bot.first_name}, I'm outta here.") + bot.leave_chat(update.effective_chat.id) + return - for new_mem in new_members: + welcome_log = None + res = None + sent = None + should_mute = True + welcome_bool = True + media_wel = False - if new_mem.id == bot.id and not AstrakoBot.ALLOW_CHATS: - with suppress(BadRequest): - update.effective_message.reply_text(f"Groups are disabled for {bot.first_name}, I'm outta here.") - bot.leave_chat(update.effective_chat.id) + if sw is not None: + sw_ban = sw.get_ban(new_mem.id) + if sw_ban: return - welcome_log = None - res = None - sent = None - should_mute = True - welcome_bool = True - media_wel = False - - if sw is not None: - sw_ban = sw.get_ban(new_mem.id) - if sw_ban: - return + if is_user_gbanned(new_mem.id): + return - if is_user_gbanned(new_mem.id): - return + if should_welc: - if should_welc: + # Give the owner a special welcome + if new_mem.id == OWNER_ID: + deletion(update, context, dispatcher.bot.send_message(chat.id, + "Oh, Genos? Let's get this moving." + )) + welcome_log = ( + f"{html.escape(chat.title)}\n" + f"#USER_JOINED\n" + f"Bot Owner just joined the group" + ) - reply = update.message.message_id - cleanserv = sql.clean_service(chat.id) - # Clean service welcome - if cleanserv: - try: - dispatcher.bot.delete_message(chat.id, update.message.message_id) - except BadRequest: - pass - reply = False - - # Give the owner a special welcome - if new_mem.id == OWNER_ID: - deletion(update, context, update.effective_message.reply_text( - "Oh, Genos? Let's get this moving.", reply_to_message_id=reply - )) - welcome_log = ( - f"{html.escape(chat.title)}\n" - f"#USER_JOINED\n" - f"Bot Owner just joined the group" - ) - continue - - # Welcome Devs - elif new_mem.id in DEV_USERS: - deletion(update, context, update.effective_message.reply_text( - "Whoa! A developer user just joined!", - reply_to_message_id=reply, - )) - welcome_log = ( - f"{html.escape(chat.title)}\n" - f"#USER_JOINED\n" - f"Bot Dev just joined the group" - ) - continue - - # Welcome Sudos - elif new_mem.id in SUDO_USERS: - deletion(update, context, update.effective_message.reply_text( - "Huh! A sudo user just joined! Stay Alert!", - reply_to_message_id=reply, - )) - welcome_log = ( - f"{html.escape(chat.title)}\n" - f"#USER_JOINED\n" - f"Bot Sudo just joined the group" - ) - continue - - # Welcome Support - elif new_mem.id in SUPPORT_USERS: - deletion(update, context, update.effective_message.reply_text( - "Huh! A support user just joined!", - reply_to_message_id=reply, - )) - welcome_log = ( - f"{html.escape(chat.title)}\n" - f"#USER_JOINED\n" - f"Bot Support just joined the group" - ) - continue - - # Welcome Whitelisted - elif new_mem.id in WHITELIST_USERS: - deletion(update, context, update.effective_message.reply_text( - "Oof! A whitelist user just joined!", reply_to_message_id=reply - )) - welcome_log = ( - f"{html.escape(chat.title)}\n" - f"#USER_JOINED\n" - f"Bot whitelisted just joined the group" - ) - continue + # Welcome Devs + elif new_mem.id in DEV_USERS: + deletion(update, context, dispatcher.bot.send_message(chat.id, + "Whoa! A developer user just joined!", + )) + welcome_log = ( + f"{html.escape(chat.title)}\n" + f"#USER_JOINED\n" + f"Bot Dev just joined the group" + ) - # Welcome yourself - elif new_mem.id == bot.id: - update.effective_message.reply_text( - "Thanks for adding me! Join https://t.me/AstrakoBotSupport for support.", - reply_to_message_id=reply, - disable_web_page_preview=True, - ) - - bot.send_message( - JOIN_LOGGER, - "#NEW_GROUP\nGroup name: {}\nID: {}".format( - html.escape(chat.title), chat.id - ), - parse_mode=ParseMode.HTML, - ) - continue - else: - buttons = sql.get_welc_buttons(chat.id) - keyb = build_keyboard(buttons) + # Welcome Sudos + elif new_mem.id in SUDO_USERS: + deletion(update, context, dispatcher.bot.send_message(chat.id, + "Huh! A sudo user just joined! Stay Alert!", + )) + welcome_log = ( + f"{html.escape(chat.title)}\n" + f"#USER_JOINED\n" + f"Bot Sudo just joined the group" + ) - if welc_type not in (sql.Types.TEXT, sql.Types.BUTTON_TEXT): - media_wel = True - - first_name = ( - new_mem.first_name or "PersonWithNoName" - ) # edge case of empty name - occurs for some bugs. - - if cust_welcome: - if cust_welcome == sql.DEFAULT_WELCOME: - cust_welcome = random.choice( - sql.DEFAULT_WELCOME_MESSAGES - ).format(first=escape_markdown(first_name)) - - if new_mem.last_name: - fullname = escape_markdown(f"{first_name} {new_mem.last_name}") - else: - fullname = escape_markdown(first_name) - count = chat.get_member_count() - mention = mention_markdown(new_mem.id, escape_markdown(first_name)) - if new_mem.username: - username = "@" + escape_markdown(new_mem.username) - else: - username = mention - - valid_format = escape_invalid_curly_brackets( - cust_welcome, VALID_WELCOME_FORMATTERS - ) - res = valid_format.format( - first=escape_markdown(first_name), - last=escape_markdown(new_mem.last_name or first_name), - fullname=escape_markdown(fullname), - username=username, - mention=mention, - count=count, - chatname=escape_markdown(chat.title), - id=new_mem.id, - ) + # Welcome Support + elif new_mem.id in SUPPORT_USERS: + deletion(update, context, dispatcher.bot.send_message(chat.id, + "Huh! A support user just joined!", + )) + welcome_log = ( + f"{html.escape(chat.title)}\n" + f"#USER_JOINED\n" + f"Bot Support just joined the group" + ) + + # Welcome Whitelisted + elif new_mem.id in WHITELIST_USERS: + deletion(update, context, dispatcher.bot.send_message(chat.id, + "Oof! A whitelist user just joined!", + )) + welcome_log = ( + f"{html.escape(chat.title)}\n" + f"#USER_JOINED\n" + f"Bot whitelisted just joined the group" + ) + + # Welcome yourself + elif new_mem.id == bot.id: + dispatcher.bot.send_message(chat.id, + "Thanks for adding me! Join https://t.me/AstrakoBotSupport for support.", + disable_web_page_preview=True, + ) + bot.send_message( + JOIN_LOGGER, + "#NEW_GROUP\nGroup name: {}\nID: {}".format( + html.escape(chat.title), chat.id + ), + parse_mode=ParseMode.HTML, + ) + else: + buttons = sql.get_welc_buttons(chat.id) + keyb = build_keyboard(buttons) + + if welc_type not in (sql.Types.TEXT, sql.Types.BUTTON_TEXT): + media_wel = True + + first_name = ( + new_mem.first_name or "PersonWithNoName" + ) # edge case of empty name - occurs for some bugs. + + if cust_welcome: + if cust_welcome == sql.DEFAULT_WELCOME: + cust_welcome = random.choice( + sql.DEFAULT_WELCOME_MESSAGES + ).format(first=escape_markdown(first_name)) + + if new_mem.last_name: + fullname = escape_markdown(f"{first_name} {new_mem.last_name}") else: - res = random.choice(sql.DEFAULT_WELCOME_MESSAGES).format( - first=escape_markdown(first_name) - ) - keyb = [] + fullname = escape_markdown(first_name) + count = chat.get_member_count() + mention = mention_markdown(new_mem.id, escape_markdown(first_name)) + if new_mem.username: + username = "@" + escape_markdown(new_mem.username) + else: + username = mention + + valid_format = escape_invalid_curly_brackets( + cust_welcome, VALID_WELCOME_FORMATTERS + ) + res = valid_format.format( + first=escape_markdown(first_name), + last=escape_markdown(new_mem.last_name or first_name), + fullname=escape_markdown(fullname), + username=username, + mention=mention, + count=count, + chatname=escape_markdown(chat.title), + id=new_mem.id, + ) - backup_message = random.choice(sql.DEFAULT_WELCOME_MESSAGES).format( + else: + res = random.choice(sql.DEFAULT_WELCOME_MESSAGES).format( first=escape_markdown(first_name) ) - keyboard = InlineKeyboardMarkup(keyb) + keyb = [] - else: - welcome_bool = False - res = None - keyboard = None - backup_message = None - reply = None - - # User exceptions from welcomemutes - if ( - is_user_ban_protected(chat, new_mem.id, chat.get_member(new_mem.id)) - or human_checks - ): - should_mute = False - # Join welcome: soft mute - if new_mem.is_bot: - should_mute = False - - if user.id == new_mem.id: - if should_mute: - if welc_mutes == "soft": - bot.restrict_chat_member( - chat.id, - new_mem.id, - permissions=ChatPermissions( - can_send_messages=True, - can_send_media_messages=False, - can_send_other_messages=False, - can_invite_users=False, - can_pin_messages=False, - can_send_polls=False, - can_change_info=False, - can_add_web_page_previews=False, - ), - until_date=(int(time.time() + 24 * 60 * 60)), + backup_message = random.choice(sql.DEFAULT_WELCOME_MESSAGES).format( + first=escape_markdown(first_name) + ) + keyboard = InlineKeyboardMarkup(keyb) + + else: + welcome_bool = False + res = None + keyboard = None + backup_message = None + reply = None + + # User exceptions from welcomemutes + if ( + is_user_ban_protected(chat, new_mem.id, chat.get_member(new_mem.id)) + or human_checks + ): + should_mute = False + # Join welcome: soft mute + if new_mem.is_bot: + should_mute = False + + if user.id == new_mem.id: + if should_mute: + if welc_mutes == "soft": + bot.restrict_chat_member( + chat.id, + new_mem.id, + permissions=ChatPermissions( + can_send_messages=True, + can_send_media_messages=False, + can_send_other_messages=False, + can_invite_users=False, + can_pin_messages=False, + can_send_polls=False, + can_change_info=False, + can_add_web_page_previews=False, + ), + until_date=(int(time.time() + 24 * 60 * 60)), + ) + if welc_mutes == "strong": + welcome_bool = False + if not media_wel: + VERIFIED_USER_WAITLIST.update( + { + new_mem.id: { + "should_welc": should_welc, + "media_wel": False, + "status": False, + "update": update, + "res": res, + "keyboard": keyboard, + "backup_message": backup_message, + } + } ) - if welc_mutes == "strong": - welcome_bool = False - if not media_wel: - VERIFIED_USER_WAITLIST.update( - { - new_mem.id: { - "should_welc": should_welc, - "media_wel": False, - "status": False, - "update": update, - "res": res, - "keyboard": keyboard, - "backup_message": backup_message, - } + else: + VERIFIED_USER_WAITLIST.update( + { + new_mem.id: { + "should_welc": should_welc, + "chat_id": chat.id, + "status": False, + "media_wel": True, + "cust_content": cust_content, + "welc_type": welc_type, + "res": res, + "keyboard": keyboard, } - ) - else: - VERIFIED_USER_WAITLIST.update( + } + ) + new_join_mem = f'{html.escape(new_mem.first_name)}' + message = dispatcher.bot.send_message(chat.id, + f"{new_join_mem}, click the button below to prove you're human.\nYou have 60 seconds.", + reply_markup=InlineKeyboardMarkup( + [ { - new_mem.id: { - "should_welc": should_welc, - "chat_id": chat.id, - "status": False, - "media_wel": True, - "cust_content": cust_content, - "welc_type": welc_type, - "res": res, - "keyboard": keyboard, - } + InlineKeyboardButton( + text="Yes, I'm human.", + callback_data=f"user_join_({new_mem.id})", + ) } - ) - new_join_mem = f'{html.escape(new_mem.first_name)}' - message = msg.reply_text( - f"{new_join_mem}, click the button below to prove you're human.\nYou have 60 seconds.", - reply_markup=InlineKeyboardMarkup( - [ - { - InlineKeyboardButton( - text="Yes, I'm human.", - callback_data=f"user_join_({new_mem.id})", - ) - } - ] - ), - parse_mode=ParseMode.HTML, - reply_to_message_id=reply, - ) - bot.restrict_chat_member( - chat.id, - new_mem.id, - permissions=ChatPermissions( - can_send_messages=False, - can_invite_users=False, - can_pin_messages=False, - can_send_polls=False, - can_change_info=False, - can_send_media_messages=False, - can_send_other_messages=False, - can_add_web_page_previews=False, - ), - ) - job_queue.run_once( - partial(check_not_bot, new_mem, chat.id, message.message_id), - 60, - name="welcomemute", - ) - - if welcome_bool: - if media_wel: - sent = ENUM_FUNC_MAP[welc_type]( + ] + ), + parse_mode=ParseMode.HTML, + ) + bot.restrict_chat_member( chat.id, - cust_content, - caption=res, - reply_markup=keyboard, - reply_to_message_id=reply, - parse_mode="markdown", + new_mem.id, + permissions=ChatPermissions( + can_send_messages=False, + can_invite_users=False, + can_pin_messages=False, + can_send_polls=False, + can_change_info=False, + can_send_media_messages=False, + can_send_other_messages=False, + can_add_web_page_previews=False, + ), + ) + job_queue.run_once( + partial(check_not_bot, new_mem, chat.id, message.message_id), + 60, + name="welcomemute", ) - else: - sent = send(update, res, keyboard, backup_message) - deletion(update, context, sent) - prev_welc = sql.get_clean_pref(chat.id) - if prev_welc: - try: - bot.delete_message(chat.id, prev_welc) - except BadRequest: - pass - - if sent: - sql.set_clean_welcome(chat.id, sent.message_id) - - if welcome_log: - return welcome_log - if user.id == new_mem.id: - welcome_log = ( - f"{html.escape(chat.title)}\n" - f"#USER_JOINED\n" - f"User: {mention_html(user.id, user.first_name)}\n" - f"ID: {user.id}" - ) - elif new_mem.is_bot and user.id != new_mem.id: - welcome_log = ( - f"{html.escape(chat.title)}\n" - f"#BOT_ADDED\n" - f"Bot: {mention_html(new_mem.id, new_mem.first_name)}\n" - f"ID: {new_mem.id}" + if welcome_bool: + if media_wel: + sent = ENUM_FUNC_MAP[welc_type]( + chat.id, + cust_content, + caption=res, + reply_markup=keyboard, + parse_mode="markdown", ) else: - welcome_log = ( - f"{html.escape(chat.title)}\n" - f"#USER_ADDED\n" - f"User: {mention_html(new_mem.id, new_mem.first_name)}\n" - f"ID: {new_mem.id}" - ) + sent = send(update, res, keyboard, backup_message) + deletion(update, context, sent) + prev_welc = sql.get_clean_pref(chat.id) + if prev_welc: + try: + bot.delete_message(chat.id, prev_welc) + except BadRequest: + pass + + if sent: + sql.set_clean_welcome(chat.id, sent.message_id) + + if welcome_log: return welcome_log - return "" + if user.id == new_mem.id: + welcome_log = ( + f"{html.escape(chat.title)}\n" + f"#USER_JOINED\n" + f"User: {mention_html(user.id, user.first_name)}\n" + f"ID: {user.id}" + ) + elif new_mem.is_bot and user.id != new_mem.id: + welcome_log = ( + f"{html.escape(chat.title)}\n" + f"#BOT_ADDED\n" + f"Bot: {mention_html(new_mem.id, new_mem.first_name)}\n" + f"ID: {new_mem.id}" + ) + else: + welcome_log = ( + f"{html.escape(chat.title)}\n" + f"#USER_ADDED\n" + f"User: {mention_html(new_mem.id, new_mem.first_name)}\n" + f"ID: {new_mem.id}" + ) + return welcome_log + def check_not_bot(member, chat_id, message_id, context): @@ -502,6 +499,19 @@ def check_not_bot(member, chat_id, message_id, context): pass +def cleanServiceFilter(u: Update, _): + if u.effective_message.left_chat_member or u.effective_message.new_chat_members: + return handleCleanService(u) + + +def handleCleanService(update: Update): + if sql.clean_service(update.effective_chat.id): + try: + dispatcher.bot.delete_message(update.effective_chat.id, update.message.message_id) + except BadRequest: + pass + + def left_member(update: Update, context: CallbackContext): bot = context.bot chat = update.effective_chat @@ -512,17 +522,8 @@ def left_member(update: Update, context: CallbackContext): return if should_goodbye: - reply = update.message.message_id - cleanserv = sql.clean_service(chat.id) - # Clean service welcome - if cleanserv: - try: - dispatcher.bot.delete_message(chat.id, update.message.message_id) - except BadRequest: - pass - reply = False - left_mem = update.effective_message.left_chat_member + left_mem = update.chat_member.new_chat_member.user if left_mem: # Thingy for spamwatched users @@ -541,16 +542,15 @@ def left_member(update: Update, context: CallbackContext): # Give the owner a special goodbye if left_mem.id == OWNER_ID: - update.effective_message.reply_text( - "Oi! Genos! He left..", reply_to_message_id=reply + dispatcher.bot.send_message(chat.id, + "Oi! Genos! He left..", ) return # Give the devs a special goodbye elif left_mem.id in DEV_USERS: - update.effective_message.reply_text( + dispatcher.bot.send_message(chat.id, "See you later dev!", - reply_to_message_id=reply, ) return @@ -1105,8 +1105,15 @@ def __chat_settings__(chat_id, user_id): • `/welcomehelp`*:* view more formatting information for custom welcome/goodbye messages. """ -NEW_MEM_HANDLER = MessageHandler(Filters.status_update.new_chat_members, new_member, run_async=True) -LEFT_MEM_HANDLER = MessageHandler(Filters.status_update.left_chat_member, left_member, run_async=True) +dispatcher.add_handler( + ChatMemberHandler( + welcomeFilter, ChatMemberHandler.CHAT_MEMBER, run_async=True + ), group=-100) + +dispatcher.add_handler( + MessageHandler(Filters.chat_type.groups, cleanServiceFilter), group=100) + + WELC_PREF_HANDLER = CommandHandler("welcome", welcome, filters=Filters.chat_type.groups, run_async=True) GOODBYE_PREF_HANDLER = CommandHandler("goodbye", goodbye, filters=Filters.chat_type.groups, run_async=True) SET_WELCOME = CommandHandler("setwelcome", set_welcome, filters=Filters.chat_type.groups, run_async=True) @@ -1122,8 +1129,6 @@ def __chat_settings__(chat_id, user_id): WELCOME_MUTE_HELP = CommandHandler("welcomemutehelp", welcome_mute_help, run_async=True) BUTTON_VERIFY_HANDLER = CallbackQueryHandler(user_button, pattern=r"user_join_", run_async=True) -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) @@ -1140,8 +1145,6 @@ def __chat_settings__(chat_id, user_id): __mod_name__ = "Welcomes/Goodbyes" __command_list__ = [] __handlers__ = [ - NEW_MEM_HANDLER, - LEFT_MEM_HANDLER, WELC_PREF_HANDLER, GOODBYE_PREF_HANDLER, SET_WELCOME, From 1a013bd9f082b2291d8e9d97f3486fa7b9e1a1ba Mon Sep 17 00:00:00 2001 From: Luke Date: Thu, 12 Oct 2023 10:28:15 +0000 Subject: [PATCH 069/153] make regex work for sudo users only --- AstrakoBot/modules/helper_funcs/chat_status.py | 12 ++++++++++++ AstrakoBot/modules/sed.py | 5 +++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/AstrakoBot/modules/helper_funcs/chat_status.py b/AstrakoBot/modules/helper_funcs/chat_status.py index 288b4dd56d..f785de38f5 100644 --- a/AstrakoBot/modules/helper_funcs/chat_status.py +++ b/AstrakoBot/modules/helper_funcs/chat_status.py @@ -144,6 +144,18 @@ def is_dev_plus_func(update: Update, context: CallbackContext, *args, **kwargs): return is_dev_plus_func +def sudo_plus_silent(func): + @wraps(func) + def is_sudo_plus_func(update: Update, context: CallbackContext, *args, **kwargs): + bot = context.bot + user = update.effective_user + chat = update.effective_chat + + if user and is_sudo_plus(chat, user.id): + return func(update, context, *args, **kwargs) + + return is_sudo_plus_func + def sudo_plus(func): @wraps(func) def is_sudo_plus_func(update: Update, context: CallbackContext, *args, **kwargs): diff --git a/AstrakoBot/modules/sed.py b/AstrakoBot/modules/sed.py index db43e204cb..b1d578100a 100644 --- a/AstrakoBot/modules/sed.py +++ b/AstrakoBot/modules/sed.py @@ -7,6 +7,7 @@ from AstrakoBot.modules.helper_funcs.regex_helper import infinite_loop_check from telegram import Update from telegram.ext import CallbackContext, Filters, run_async +from AstrakoBot.modules.helper_funcs.chat_status import sudo_plus_silent DELIMITERS = ("/", ":", "|", "_") @@ -56,7 +57,7 @@ def separate_sed(sed_string): flags = sed_string[counter:] return replace, replace_with, flags.lower() - +@sudo_plus_silent def sed(update: Update, context: CallbackContext): sed_result = separate_sed(update.effective_message.text) if sed_result and update.effective_message.reply_to_message: @@ -116,7 +117,7 @@ def sed(update: Update, context: CallbackContext): __help__ = """ - • `s//(/)`*:* Reply to a message with this to perform a sed operation on that message, replacing all \ + • `s//(/)` *(sudo users only):* Reply to a message with this to perform a sed operation on that message, replacing all \ occurrences of 'text1' with 'text2'. Flags are optional, and currently include 'i' for ignore case, 'g' for global, \ or nothing. Delimiters include `/`, `_`, `|`, and `:`. Text grouping is supported. The resulting message cannot be \ larger than {}. From 4df3e4e6dd2dd5ba3462b1b8ce0dcdade249fe30 Mon Sep 17 00:00:00 2001 From: Luke <67458252+itsLuuke@users.noreply.github.com> Date: Fri, 24 Nov 2023 12:29:33 +0200 Subject: [PATCH 070/153] approvals: fix /approved when user is deleted --- AstrakoBot/modules/approve.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/AstrakoBot/modules/approve.py b/AstrakoBot/modules/approve.py index 3c081a3fcd..902925c58a 100644 --- a/AstrakoBot/modules/approve.py +++ b/AstrakoBot/modules/approve.py @@ -101,8 +101,11 @@ def approved(update: Update, context: CallbackContext): msg = "The following users are approved.\n" approved_users = sql.list_approved(message.chat_id) for i in approved_users: - member = chat.get_member(int(i.user_id)) - msg += f"- `{i.user_id}`: {member.user['first_name']}\n" + try: + member = chat.get_member(int(i.user_id)) + msg += f"- `{i.user_id}`: {member.user['first_name']}\n" + except BadRequest: + sql.disapprove(message.chat_id, i.user_id) if msg.endswith("approved.\n"): message.reply_text(f"No users are approved in {chat_title}.") return "" From 1a6e6a2928ca1f4ff4b331f7e7e42ae3d1dffb3a Mon Sep 17 00:00:00 2001 From: Luke Date: Tue, 23 Apr 2024 14:50:11 +0300 Subject: [PATCH 071/153] fix regex to work with python 3.11 --- AstrakoBot/modules/afk.py | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/AstrakoBot/modules/afk.py b/AstrakoBot/modules/afk.py index 7255162b27..f59e8d01f5 100644 --- a/AstrakoBot/modules/afk.py +++ b/AstrakoBot/modules/afk.py @@ -180,7 +180,7 @@ def __gdpr__(user_id): AFK_HANDLER = DisableAbleCommandHandler("afk", afk, run_async=True) AFK_REGEX_HANDLER = DisableAbleMessageHandler( - Filters.regex(r"^(?i)brb(.*)$"), afk, friendly="afk" + Filters.regex(r"(?i)^brb(.*)$"), afk, friendly="afk" ) NO_AFK_HANDLER = MessageHandler(Filters.all & Filters.chat_type.groups, no_longer_afk, run_async=True) AFK_REPLY_HANDLER = MessageHandler(Filters.all & Filters.chat_type.groups, reply_afk, run_async=True) diff --git a/requirements.txt b/requirements.txt index 517fcdad9f..b17aed3c49 100644 --- a/requirements.txt +++ b/requirements.txt @@ -28,7 +28,7 @@ wikipedia telethon spamwatch alphabet_detector -pyrate-limiter +pyrate-limiter==2.8.1 covid datetime pytz From 650b1ee9c161b6a7d9a7bd21408c6b35e314b0c0 Mon Sep 17 00:00:00 2001 From: Luke Date: Tue, 23 Apr 2024 14:56:36 +0300 Subject: [PATCH 072/153] update stickers to support new BotAPI version + add support to video stickers Co-authored-by: Dank-del Co-authored-by: blankie --- AstrakoBot/modules/stickers.py | 589 ++++++++++++++++----------------- 1 file changed, 292 insertions(+), 297 deletions(-) diff --git a/AstrakoBot/modules/stickers.py b/AstrakoBot/modules/stickers.py index 39d2129ad2..f59e214b83 100644 --- a/AstrakoBot/modules/stickers.py +++ b/AstrakoBot/modules/stickers.py @@ -1,12 +1,15 @@ import os import math +from io import BytesIO +from urllib.error import HTTPError + import requests import urllib.request as urllib from PIL import Image from html import escape from bs4 import BeautifulSoup as bs -from telegram import ParseMode, InlineKeyboardMarkup, InlineKeyboardButton +from telegram import Bot, ParseMode, InlineKeyboardMarkup, InlineKeyboardButton from telegram import TelegramError, Update from telegram.ext import run_async, CallbackContext from telegram.utils.helpers import mention_html @@ -17,6 +20,16 @@ combot_stickers_url = "https://combot.org/telegram/stickers?q=" +def get_sticker_count(bot: Bot, packname: str) -> int: + resp = bot._request.post( + f"{bot.base_url}/getStickerSet", + { + "name": packname, + }, + ) + return len(resp["stickers"]) + + def stickerid(update: Update, context: CallbackContext): msg = update.effective_message if msg.reply_to_message and msg.reply_to_message.sticker: @@ -57,229 +70,219 @@ def cb_sticker(update: Update, context: CallbackContext): msg.reply_text(stp, parse_mode=ParseMode.MARKDOWN) def getsticker(update: Update, context: CallbackContext): - bot = context.bot msg = update.effective_message - chat_id = update.effective_chat.id if msg.reply_to_message and msg.reply_to_message.sticker: file_id = msg.reply_to_message.sticker.file_id + # Check if it's an animated file + is_animated = msg.reply_to_message.sticker.is_animated + bot = context.bot + # Get the file and put it into a memory buffer new_file = bot.get_file(file_id) - new_file.download("sticker.png") - bot.send_document(chat_id, document=open("sticker.png", "rb")) - os.remove("sticker.png") + sticker_data = new_file.download(out=BytesIO()) + # go back to the start of the buffer + sticker_data.seek(0) + filename = "animated_sticker.tgs.rename_me" if is_animated else "sticker.png" + chat_id = update.effective_chat.id + # Send the document + bot.send_document(chat_id, + document=sticker_data, + filename=filename, + disable_content_type_detection=True + ) else: update.effective_message.reply_text( "Please reply to a sticker for me to upload its PNG." ) - def kang(update: Update, context: CallbackContext): + ppref = "" msg = update.effective_message user = update.effective_user args = context.args - packnum = 0 - packname = "a" + str(user.id) + "_by_" + context.bot.username - packname_found = 0 - max_stickers = 120 - while packname_found == 0: - try: - stickerset = context.bot.get_sticker_set(packname) - if len(stickerset.stickers) >= max_stickers: - packnum += 1 - packname = ( - "a" - + str(packnum) - + "_" - + str(user.id) - + "_by_" - + context.bot.username - ) - else: - packname_found = 1 - except TelegramError as e: - if e.message == "Stickerset_invalid": - packname_found = 1 - kangsticker = "kangsticker.png" is_animated = False - file_id = "" + is_video = False + file_id = None + sticker_emoji = "🤔" + sticker_data = None + + # The kang syntax is as follows: + # /kang 🤔 + # /kang http://whatever.com/sticker.png 🤔 + # It can be animated or not. - if msg.reply_to_message: - if msg.reply_to_message.sticker: - if msg.reply_to_message.sticker.is_animated: + # first check if we're syntactically correct. + if not msg.reply_to_message and not args: + # this is quite a bit more difficult, we need to get all their packs managed by us. + packs = "" + # start with finding non-animated packs. + packnum = 0 + # Initial pack name for non-animated + packname = f"a{user.id}_by_{context.bot.username}" + # Max non-animated stickers in a pack + max_stickers = 120 + + # Find the packs + while True: + last_set = False + try: + if get_sticker_count(context.bot, packname) >= max_stickers: + packnum += 1 + if is_animated: + packname = f"animated{packnum}_{user.id}_by_{context.bot.username}" + ppref = "animated" + elif is_video: + packname = f"vid{packnum}_{user.id}_by_{context.bot.username}" + ppref = "vid" + else: + packname = f"a{packnum}_{user.id}_by_{context.bot.username}" + ppref = "" + else: + last_set = True + packs += f"[{ppref}pack{packnum if packnum != 0 else ''}](t.me/addstickers/{packname})\n" + except TelegramError as e: + if e.message == "Stickerset_invalid": + last_set = True + else: + print(e) + break # something went wrong, leave the loop and send what we have. + + # If we're done checking bot animated and non-animated packs + # exit the loop and send our pack message. + if last_set and is_animated: + break + elif last_set: + # move to checking animated packs. Start with the first pack + packname = f"animated_{user.id}_by_{context.bot.username}" + # reset our counter + packnum = 0 + # Animated packs have a max of 50 stickers + max_stickers = 50 + # tell the loop we're looking at animated stickers now is_animated = True - file_id = msg.reply_to_message.sticker.file_id - elif msg.reply_to_message.photo: - file_id = msg.reply_to_message.photo[-1].file_id - elif msg.reply_to_message.document: - file_id = msg.reply_to_message.document.file_id + # if they have no packs, change our message + if not packs: + packs = "Looks like you don't have any packs! Please reply to a sticker, or image to kang it and create a new pack!" else: - msg.reply_text("Yea, I can't kang that.") + packs = "Please reply to a sticker, or image to kang it!\nOh, by the way, here are your packs:\n" + packs - kang_file = context.bot.get_file(file_id) - if not is_animated: - kang_file.download("kangsticker.png") + # Send our list as a reply + msg.reply_text(packs, parse_mode=ParseMode.MARKDOWN) + # Don't continue processing the command. + return + + # User sent /kang in reply to a message + if rep := msg.reply_to_message: + if rep.sticker: + is_animated = rep.sticker.is_animated + is_video = rep.sticker.is_video + file_id = rep.sticker.file_id + # also grab the emoji if the user wishes + if not args: + sticker_emoji = rep.sticker.emoji + elif rep.photo: + file_id = rep.photo[-1].file_id + elif rep.video: + file_id = rep.video.file_id + is_video = True + elif rep.animation: + file_id = rep.animation.file_id + is_video = True + elif doc := rep.document: + file_id = rep.document.file_id + if doc.mime_type == 'video/webm': + is_video = True else: - kang_file.download("kangsticker.tgs") + msg.reply_text("Yea, I can't steal that.") + return + # Check if they have an emoji specified. if args: - sticker_emoji = str(args[0]) - elif msg.reply_to_message.sticker and msg.reply_to_message.sticker.emoji: - sticker_emoji = msg.reply_to_message.sticker.emoji - else: - sticker_emoji = "🤔" + sticker_emoji = args[0] - if not is_animated: - try: - im = Image.open(kangsticker) - maxsize = (512, 512) - if (im.width and im.height) < 512: - size1 = im.width - size2 = im.height - if im.width > im.height: - scale = 512 / size1 - size1new = 512 - size2new = size2 * scale - else: - scale = 512 / size2 - size1new = size1 * scale - size2new = 512 - size1new = math.floor(size1new) - size2new = math.floor(size2new) - sizenew = (size1new, size2new) - im = im.resize(sizenew) - else: - im.thumbnail(maxsize) - if not msg.reply_to_message.sticker: - im.save(kangsticker, "PNG") - context.bot.add_sticker_to_set( - user_id=user.id, - name=packname, - png_sticker=open("kangsticker.png", "rb"), - emojis=sticker_emoji, - ) - msg.reply_text( - f"Sticker successfully added to [pack](t.me/addstickers/{packname})" - + f"\nEmoji is: {sticker_emoji}", - parse_mode=ParseMode.MARKDOWN, - ) - - except OSError as e: + # Download the data + kang_file = context.bot.get_file(file_id) + sticker_data = kang_file.download(out=BytesIO()) + # move to the front of the buffer. + sticker_data.seek(0) + else: # user sent /kang with url + url = args[0] + # set the emoji if they specify it. + if len(args) >= 2: + sticker_emoji = args[1] + # open the URL, downlaod the image and write to + # a buffer object we can use elsewhere. + sticker_data = BytesIO() + try: + resp = urllib.urlopen(url) + + # check the mime-type first, you can't kang a .html file. + mime = resp.getheader('Content-Type') + if mime not in ['image/jpeg', 'image/jpg', 'image/png', 'image/webp', 'application/x-tgsticker']: msg.reply_text("I can only kang images m8.") - print(e) return - except TelegramError as e: - if e.message == "Stickerset_invalid": - makepack_internal( - update, - context, - msg, - user, - sticker_emoji, - packname, - packnum, - png_sticker=open("kangsticker.png", "rb"), - ) - elif e.message == "Sticker_png_dimensions": - im.save(kangsticker, "PNG") - context.bot.add_sticker_to_set( - user_id=user.id, - name=packname, - png_sticker=open("kangsticker.png", "rb"), - emojis=sticker_emoji, - ) - msg.reply_text( - f"Sticker successfully added to [pack](t.me/addstickers/{packname})" - + f"\nEmoji is: {sticker_emoji}", - parse_mode=ParseMode.MARKDOWN, - ) - elif e.message == "Invalid sticker emojis": - msg.reply_text("Invalid emoji(s).") - elif e.message == "Stickers_too_much": - msg.reply_text("Max packsize reached. Press F to pay respecc.") - elif e.message == "Internal Server Error: sticker set not found (500)": - msg.reply_text( - "Sticker successfully added to [pack](t.me/addstickers/%s)" - % packname - + "\n" - "Emoji is:" + " " + sticker_emoji, - parse_mode=ParseMode.MARKDOWN, - ) - print(e) + # check if it's an animated sticker type + if mime == "application/x-tgsticker": + is_animated = True + # write our sticker data to a buffer object + sticker_data.write(resp.read()) + # move to the front of the buffer. + sticker_data.seek(0) + except ValueError: + # If they gave an invalid URL + msg.reply_text("Yea, that's not a URL I can download from.") + return + except HTTPError as e: + # if we're not allowed there for some reason + msg.reply_text(f"Error downloading the file: {e.code} {e.msg}") + return - else: - packname = "animated" + str(user.id) + "_by_" + context.bot.username - packname_found = 0 - max_stickers = 50 - while packname_found == 0: - try: - stickerset = context.bot.get_sticker_set(packname) - if len(stickerset.stickers) >= max_stickers: - packnum += 1 - packname = ( - "animated" - + str(packnum) - + "_" - + str(user.id) - + "_by_" - + context.bot.username - ) - else: - packname_found = 1 - except TelegramError as e: - if e.message == "Stickerset_invalid": - packname_found = 1 - try: - context.bot.add_sticker_to_set( - user_id=user.id, - name=packname, - tgs_sticker=open("kangsticker.tgs", "rb"), - emojis=sticker_emoji, - ) - msg.reply_text( - f"Sticker successfully added to [pack](t.me/addstickers/{packname})" - + f"\nEmoji is: {sticker_emoji}", - parse_mode=ParseMode.MARKDOWN, - ) - except TelegramError as e: - if e.message == "Stickerset_invalid": - makepack_internal( - update, - context, - msg, - user, - sticker_emoji, - packname, - packnum, - tgs_sticker=open("kangsticker.tgs", "rb"), - ) - elif e.message == "Invalid sticker emojis": - msg.reply_text("Invalid emoji(s).") - elif e.message == "Internal Server Error: sticker set not found (500)": - msg.reply_text( - "Sticker successfully added to [pack](t.me/addstickers/%s)" - % packname - + "\n" - "Emoji is:" + " " + sticker_emoji, - parse_mode=ParseMode.MARKDOWN, - ) - print(e) - - elif args: + packnum = 0 + packname_found = False + invalid = False + + # now determine the pack name we should use by default + if is_animated: + packname = f"animated_{user.id}_by_{context.bot.username}" + max_stickers = 50 + elif is_video: + packname = f"vid_{user.id}_by_{context.bot.username}" + max_stickers = 50 + else: + packname = f"a{user.id}_by_{context.bot.username}" + max_stickers = 120 + + # Find if the pack is full already + while not packname_found: try: - try: - urlemoji = msg.text.split(" ") - png_sticker = urlemoji[1] - sticker_emoji = urlemoji[2] - except IndexError: - sticker_emoji = "🤔" - urllib.urlretrieve(png_sticker, kangsticker) - im = Image.open(kangsticker) - maxsize = (512, 512) + if get_sticker_count(context.bot, packname) >= max_stickers: + packnum += 1 + if is_animated: + packname = f"animated{packnum}_{user.id}_by_{context.bot.username}" + elif is_video: + packname = f"vid{packnum}_{user.id}_by_{context.bot.username}" + else: + packname = f"a{packnum}_{user.id}_by_{context.bot.username}" + else: + packname_found = True + except TelegramError as e: + if e.message == "Stickerset_invalid": + packname_found = True + # we will need to create the sticker pack + invalid = True + else: + raise + + # if the image isn't animated, ensure it's the right size/format with PIL + if not is_animated and not is_video: + # handle non-animated stickers. + try: + im = Image.open(sticker_data) if (im.width and im.height) < 512: size1 = im.width size2 = im.height - if im.width > im.height: + if size1 > size2: scale = 512 / size1 size1new = 512 size2new = size2 * scale @@ -292,85 +295,72 @@ def kang(update: Update, context: CallbackContext): sizenew = (size1new, size2new) im = im.resize(sizenew) else: + maxsize = (512, 512) im.thumbnail(maxsize) - im.save(kangsticker, "PNG") - msg.reply_photo(photo=open("kangsticker.png", "rb")) - context.bot.add_sticker_to_set( - user_id=user.id, - name=packname, - png_sticker=open("kangsticker.png", "rb"), - emojis=sticker_emoji, + # Saved the resized sticker in memory + sticker_data = BytesIO() + im.save(sticker_data, 'PNG') + # seek to start of the image data + sticker_data.seek(0) + except OSError as e: + msg.reply_text("I can only steal images m8.") + return + + # actually add the damn sticker to the pack, animated or not. + try: + # Add the sticker to the pack if it doesn't exist already + if invalid: + # Since Stickerset_invalid will also try to create a pack we might as + # well just reuse that code and avoid typing it all again. + raise TelegramError("Stickerset_invalid") + context.bot.add_sticker_to_set( + user_id=user.id, + name=packname, + tgs_sticker = sticker_data if is_animated else None, + webm_sticker = sticker_data if is_video else None, + png_sticker = sticker_data if not is_animated and not is_video else None, + emojis=sticker_emoji, + ) + msg.reply_text( + f"Sticker successfully added to [pack](t.me/addstickers/{packname})" + + f"\nEmoji is: {sticker_emoji}", + parse_mode=ParseMode.MARKDOWN, + ) + except TelegramError as e: + if e.message == "Stickerset_invalid": + # if we need to make a sticker pack, make one and make this the + # first sticker in the pack. + makepack_internal( + update, + context, + msg, + user, + sticker_emoji, + packname, + packnum, + tgs_sticker=sticker_data if is_animated else None, + webm_sticker=sticker_data if is_video else None, + png_sticker=sticker_data if not is_animated and not is_video else None, ) + elif e.message == "Stickers_too_much": + msg.reply_text("Max packsize reached. Press F to pay respecc.") + elif e.message == "Invalid sticker emojis": + msg.reply_text("I can't kang with that emoji!") + elif e.message == "Sticker_video_nowebm": msg.reply_text( - f"Sticker successfully added to [pack](t.me/addstickers/{packname})" - + f"\nEmoji is: {sticker_emoji}", + "This media format isn't supported, I need it in a webm format, " + "[see this guide](https://core.telegram.org/stickers/webm-vp9-encoding).", parse_mode=ParseMode.MARKDOWN, + disable_web_page_preview = True, + ) + elif e.message == "Internal Server Error: sticker set not found (500)": + msg.reply_text( + f"Sticker successfully added to [pack](t.me/addstickers/{packname})\n" + + f"Emoji is: {sticker_emoji}", parse_mode=ParseMode.MARKDOWN ) - except OSError as e: - msg.reply_text("I can only kang images m8.") - print(e) - return - except TelegramError as e: - if e.message == "Stickerset_invalid": - makepack_internal( - update, - context, - msg, - user, - sticker_emoji, - packname, - packnum, - png_sticker=open("kangsticker.png", "rb"), - ) - elif e.message == "Sticker_png_dimensions": - im.save(kangsticker, "PNG") - context.bot.add_sticker_to_set( - user_id=user.id, - name=packname, - png_sticker=open("kangsticker.png", "rb"), - emojis=sticker_emoji, - ) - msg.reply_text( - "Sticker successfully added to [pack](t.me/addstickers/%s)" - % packname - + "\n" - + "Emoji is:" - + " " - + sticker_emoji, - parse_mode=ParseMode.MARKDOWN, - ) - elif e.message == "Invalid sticker emojis": - msg.reply_text("Invalid emoji(s).") - elif e.message == "Stickers_too_much": - msg.reply_text("Max packsize reached. Press F to pay respecc.") - elif e.message == "Internal Server Error: sticker set not found (500)": - msg.reply_text( - "Sticker successfully added to [pack](t.me/addstickers/%s)" - % packname - + "\n" - "Emoji is:" + " " + sticker_emoji, - parse_mode=ParseMode.MARKDOWN, - ) - print(e) - else: - packs = "Please reply to a sticker, or image to kang it!\nOh, by the way. here are your packs:\n" - if packnum > 0: - firstpackname = "a" + str(user.id) + "_by_" + context.bot.username - for i in range(0, packnum + 1): - if i == 0: - packs += f"[pack](t.me/addstickers/{firstpackname})\n" - else: - packs += f"[pack{i}](t.me/addstickers/{packname})\n" else: - packs += f"[pack](t.me/addstickers/{packname})" - msg.reply_text(packs, parse_mode=ParseMode.MARKDOWN) - try: - if os.path.isfile("kangsticker.png"): - os.remove("kangsticker.png") - elif os.path.isfile("kangsticker.tgs"): - os.remove("kangsticker.tgs") - except: - pass + msg.reply_text(f"Oops! looks like something happened that shouldn't happen! ({e.message})") + raise def makepack_internal( @@ -382,63 +372,68 @@ def makepack_internal( packname, packnum, png_sticker=None, + webm_sticker=None, tgs_sticker=None, ): - name = user.first_name - name = name[:50] + name = user.first_name[:50] try: extra_version = "" if packnum > 0: - extra_version = " " + str(packnum) - if png_sticker: - success = context.bot.create_new_sticker_set( - user.id, - packname, - f"{name}s kang pack" + extra_version, - png_sticker=png_sticker, - emojis=emoji, - ) - if tgs_sticker: - success = context.bot.create_new_sticker_set( - user.id, - packname, - f"{name}s animated kang pack" + extra_version, - tgs_sticker=tgs_sticker, - emojis=emoji, - ) + extra_version = f" {packnum}" + success = context.bot.create_new_sticker_set( + user.id, + packname, + f"{name}s {'animated ' if tgs_sticker else 'video ' if webm_sticker else ''}kang pack{extra_version}", + tgs_sticker=tgs_sticker or None, + webm_sticker=webm_sticker or None, + png_sticker=png_sticker or None, + emojis=emoji, + ) except TelegramError as e: print(e) - if e.message == "Sticker set name is already occupied": + if e.message == 'Sticker set name is already occupied': msg.reply_text( - "Your pack can be found [here](t.me/addstickers/%s)" % packname, + 'Your pack can be found [here](t.me/addstickers/%s)' + % packname, parse_mode=ParseMode.MARKDOWN, ) - elif e.message in ("Peer_id_invalid", "bot was blocked by the user"): + + return + elif e.message in ('Peer_id_invalid', 'bot was blocked by the user'): msg.reply_text( - "Contact me in PM first.", + 'Contact me in PM first.', reply_markup=InlineKeyboardMarkup( [ [ InlineKeyboardButton( - text="Start", url=f"t.me/{context.bot.username}" + text='Start', + url=f't.me/{context.bot.username}', ) ] ] ), ) - elif e.message == "Internal Server Error: created sticker set not found (500)": + + return + elif ( + e.message + == 'Internal Server Error: created sticker set not found (500)' + ): + success = True + elif e.message == 'Sticker_video_nowebm': msg.reply_text( - "Sticker pack successfully created. Get it [here](t.me/addstickers/%s)" - % packname, + "This media format isn't supported, I need it in a webm format, " + "[see this guide](https://core.telegram.org/stickers/webm-vp9-encoding).", parse_mode=ParseMode.MARKDOWN, + disable_web_page_preview = True, ) - return - + return + else: + success = False if success: msg.reply_text( - "Sticker pack successfully created. Get it [here](t.me/addstickers/%s)" - % packname, + f"Sticker pack successfully created. Get it [here](t.me/addstickers/{packname})", parse_mode=ParseMode.MARKDOWN, ) else: From 4ea0e6c9771c963ff03f2271f3dcffc725e6db6f Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sat, 15 Mar 2025 19:23:48 +0000 Subject: [PATCH 073/153] cash: Change API --- AstrakoBot/modules/currency_converter.py | 58 ++++++++++++++++-------- AstrakoBot/sample_config.py | 2 +- 2 files changed, 39 insertions(+), 21 deletions(-) diff --git a/AstrakoBot/modules/currency_converter.py b/AstrakoBot/modules/currency_converter.py index cd0acccafb..7453e72c90 100644 --- a/AstrakoBot/modules/currency_converter.py +++ b/AstrakoBot/modules/currency_converter.py @@ -5,7 +5,6 @@ from AstrakoBot.modules.sql.clear_cmd_sql import get_clearcmd from AstrakoBot.modules.helper_funcs.misc import delete - def convert(update: Update, context: CallbackContext): chat = update.effective_chat args = update.effective_message.text.split(" ") @@ -13,30 +12,52 @@ def convert(update: Update, context: CallbackContext): if len(args) == 4: try: orig_cur_amount = float(args[1]) - except ValueError: update.effective_message.reply_text("Invalid amount of currency") return orig_cur = args[2].upper() - new_cur = args[3].upper() + api_version = "v6" + data = None - request_url = ( - f"https://www.alphavantage.co/query" - f"?function=CURRENCY_EXCHANGE_RATE" - f"&from_currency={orig_cur}" - f"&to_currency={new_cur}" - f"&apikey={CASH_API_KEY}" - ) - response = requests.get(request_url).json() try: - current_rate = float( - response["Realtime Currency Exchange Rate"]["5. Exchange Rate"] - ) - except KeyError: - update.effective_message.reply_text("Currency not supported.") + request_url = f"https://v6.exchangerate-api.com/v6/{CASH_API_KEY}/latest/{orig_cur}" + response = requests.get(request_url) + data = response.json() + + if data.get('result') == 'error': + api_version = "v4" + request_url = f"https://api.exchangerate-api.com/v4/latest/{orig_cur}" + response = requests.get(request_url) + data = response.json() + + except Exception as e: + update.effective_message.reply_text(f"API Error: {str(e)}") + return + + if not data or 'result' in data and data['result'] == 'error': + error_key = 'error_type' if api_version == "v4" else 'error-type' + error_msg = data.get(error_key, 'Unknown API error') if data else 'Empty API response' + update.effective_message.reply_text(f"Error: {error_msg}") return + + if api_version == "v6": + if not data.get('conversion_rates'): + update.effective_message.reply_text("Invalid API response format") + return + rates = data['conversion_rates'] + else: + if not data.get('rates'): + update.effective_message.reply_text("Invalid API response format") + return + rates = data['rates'] + + if new_cur not in rates: + update.effective_message.reply_text(f"Currency {new_cur} is not supported.") + return + + current_rate = rates[new_cur] new_cur_amount = round(orig_cur_amount * current_rate, 5) delmsg = update.effective_message.reply_text( f"{orig_cur_amount} {orig_cur} = {new_cur_amount} {new_cur}" @@ -47,16 +68,13 @@ def convert(update: Update, context: CallbackContext): else: delmsg = update.effective_message.reply_text( - f"*Invalid Args!!:* Required 3 but passed {len(args) -1}", + f"*Invalid Arguments!* Required 3 parameters but got {len(args)-1}", parse_mode=ParseMode.MARKDOWN, ) cleartime = get_clearcmd(chat.id, "cash") - if cleartime: context.dispatcher.run_async(delete, delmsg, cleartime.time) - CONVERTER_HANDLER = CommandHandler("cash", convert, run_async=True) - dispatcher.add_handler(CONVERTER_HANDLER) diff --git a/AstrakoBot/sample_config.py b/AstrakoBot/sample_config.py index ba0392c904..b2a6a64133 100644 --- a/AstrakoBot/sample_config.py +++ b/AstrakoBot/sample_config.py @@ -61,7 +61,7 @@ class Config(object): BAN_STICKER = "" # banhammer marie sticker id, the bot will send this sticker before banning or kicking a user in chat. ALLOW_EXCL = True # Allow ! commands as well as / (Leave this to true so that blacklist can work) CASH_API_KEY = ( - "awoo" # Get your API key from https://www.alphavantage.co/support/#api-key + "awoo" # Get your API key from https://app.exchangerate-api.com/dashboard ) TIME_API_KEY = "awoo" # Get your API key from https://timezonedb.com/api WALL_API = ( From fa06aa4d405016eced5a65ce3762fe1f872a943b Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sat, 15 Mar 2025 22:57:42 +0000 Subject: [PATCH 074/153] super_users: Fix BadRequest --- AstrakoBot/modules/super_users.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/AstrakoBot/modules/super_users.py b/AstrakoBot/modules/super_users.py index e7720922d3..1745e51eaa 100644 --- a/AstrakoBot/modules/super_users.py +++ b/AstrakoBot/modules/super_users.py @@ -59,6 +59,11 @@ def addsudo(update: Update, context: CallbackContext) -> str: chat = update.effective_chat bot, args = context.bot, context.args user_id = extract_user(message, args) + + if not user_id: + message.reply_text("Invalid user!") + return "" + user_member = bot.getChat(user_id) rt = "" @@ -121,6 +126,11 @@ def addsupport( chat = update.effective_chat bot, args = context.bot, context.args user_id = extract_user(message, args) + + if not user_id: + message.reply_text("Invalid user!") + return "" + user_member = bot.getChat(user_id) rt = "" @@ -184,6 +194,11 @@ def addwhitelist(update: Update, context: CallbackContext) -> str: chat = update.effective_chat bot, args = context.bot, context.args user_id = extract_user(message, args) + + if not user_id: + message.reply_text("Invalid user!") + return "" + user_member = bot.getChat(user_id) rt = "" @@ -247,6 +262,11 @@ def removesudo(update: Update, context: CallbackContext) -> str: chat = update.effective_chat bot, args = context.bot, context.args user_id = extract_user(message, args) + + if not user_id: + message.reply_text("Invalid user!") + return "" + user_member = bot.getChat(user_id) reply = check_user_id(user_id, bot) @@ -293,6 +313,11 @@ def removesupport(update: Update, context: CallbackContext) -> str: chat = update.effective_chat bot, args = context.bot, context.args user_id = extract_user(message, args) + + if not user_id: + message.reply_text("Invalid user!") + return "" + user_member = bot.getChat(user_id) reply = check_user_id(user_id, bot) @@ -335,6 +360,11 @@ def removewhitelist(update: Update, context: CallbackContext) -> str: chat = update.effective_chat bot, args = context.bot, context.args user_id = extract_user(message, args) + + if not user_id: + message.reply_text("Invalid user!") + return "" + user_member = bot.getChat(user_id) reply = check_user_id(user_id, bot) From 59d26f63b6da4905f16f5eb27f4b6f836b747878 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sat, 15 Mar 2025 23:30:10 +0000 Subject: [PATCH 075/153] modules: Add linux --- AstrakoBot/modules/linux.py | 77 +++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 AstrakoBot/modules/linux.py diff --git a/AstrakoBot/modules/linux.py b/AstrakoBot/modules/linux.py new file mode 100644 index 0000000000..340fea7c16 --- /dev/null +++ b/AstrakoBot/modules/linux.py @@ -0,0 +1,77 @@ +import requests +from AstrakoBot import dispatcher +from telegram import Update, ParseMode +from telegram.ext import CallbackContext, CommandHandler, run_async +from AstrakoBot.modules.sql.clear_cmd_sql import get_clearcmd +from AstrakoBot.modules.helper_funcs.misc import delete +from datetime import datetime +import re + +def linux_kernels(update: Update, context: CallbackContext): + chat = update.effective_chat + headers = {"User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0"} + + try: + response = requests.get("https://www.kernel.org/releases.json", headers=headers) + response.raise_for_status() + data = response.json() + except Exception as e: + update.effective_message.reply_text(f"Error fetching kernel data: {str(e)}") + return + + releases = data.get("releases", []) + if not releases: + update.effective_message.reply_text("No kernel releases found.") + return + + message = "Linux Kernel Versions\n\n" + for release in releases[:10]: + version = release.get("version", "Unknown") + moniker = release.get("moniker", "").lower() + timestamp = release.get("released", {}).get("timestamp", 0) + source_url = release.get("gitweb", "#") + + category = "MAINLINE" + if release.get("iseol"): + category = "EOL" + elif "longterm" in moniker: + category = "LTS" + elif "stable" in moniker: + category = "STABLE" + elif "linux-next" in moniker: + category = "NEXT" + + message += ( + f"• {version}\n" + f" └ {category} " + f"({datetime.fromtimestamp(timestamp).strftime('%Y-%m-%d')})\n\n" + ) + + message += "Source: kernel.org" + + try: + delmsg = update.effective_message.reply_text( + message, + parse_mode=ParseMode.HTML, + disable_web_page_preview=True + ) + except Exception as e: + update.effective_message.reply_text(f"Error formatting message: {str(e)}") + return + + cleartime = get_clearcmd(chat.id, "kernels") + if cleartime: + context.dispatcher.run_async(delete, delmsg, cleartime.time) + +__help__ = """ +*Available commands:*\n +*Linux Kernel:* +• `/kernels`: fetches linux kernels information\n +""" + +KERNELS_HANDLER = CommandHandler("kernels", linux_kernels, run_async=True) +dispatcher.add_handler(KERNELS_HANDLER) + +__mod_name__ = "Linux" +__command_list__ = ["kernels"] +__handlers__ = [KERNELS_HANDLER] From df8f0a388868ea3b9f4b391c9738c31cf3072d09 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 16 Mar 2025 00:03:50 +0000 Subject: [PATCH 076/153] android: Add kernelsu --- AstrakoBot/modules/android.py | 55 +++++++++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 3 deletions(-) diff --git a/AstrakoBot/modules/android.py b/AstrakoBot/modules/android.py index 295f3fadfc..df5e9e0578 100644 --- a/AstrakoBot/modules/android.py +++ b/AstrakoBot/modules/android.py @@ -48,6 +48,52 @@ def magisk(update: Update, context: CallbackContext): if cleartime: context.dispatcher.run_async(delete, delmsg, cleartime.time) +def kernelsu(update: Update, context: CallbackContext): + message = update.effective_message + chat = update.effective_chat + repos = [ + ("KernelSU", "tiann/KernelSU"), + ("KernelSU-Next", "KernelSU-Next/KernelSU-Next") + ] + + msg = "*Latest KernelSU Releases:*\n\n" + + for repo_name, repo_path in repos: + try: + api_url = f"https://api.github.com/repos/{repo_path}/releases/latest" + response = get(api_url, headers=rget_headers) + response.raise_for_status() + data = response.json() + + msg += f"*{repo_name}:*\n" + msg += f'• Release - [{data["tag_name"]}]({data["html_url"]})\n' + + apk_assets = [asset for asset in data["assets"] if asset["name"].lower().endswith(".apk")] + if apk_assets: + for asset in apk_assets: + msg += f'• APK - [{asset["name"]}]({asset["browser_download_url"]})\n' + else: + msg += "• APK - No APK assets found\n" + + msg += "\n" + + except Exception as e: + msg += f"*{repo_name}:* Error fetching data ({str(e)})\n\n" + continue + + if "Error fetching data" in msg: + msg += "\n⚠️ Failed to fetch some releases, try again later." + + delmsg = message.reply_text( + text=msg, + parse_mode=ParseMode.MARKDOWN, + disable_web_page_preview=True, + ) + + cleartime = get_clearcmd(chat.id, "kernelsu") + + if cleartime: + context.dispatcher.run_async(delete, delmsg, cleartime.time) def checkfw(update: Update, context: CallbackContext): args = context.args @@ -317,6 +363,8 @@ def twrp(update: Update, context: CallbackContext): *Available commands:*\n *Magisk:* • `/magisk`, `/su`, `/root`: fetches latest magisk\n +*KernelSU:* +• `/kernelsu`: fetches latest kernelsu\n *OrangeFox Recovery Project:* • `/orangefox` ``: fetches lastest OrangeFox Recovery available for a given device codename\n *TWRP:* @@ -331,6 +379,7 @@ def twrp(update: Update, context: CallbackContext): """ MAGISK_HANDLER = CommandHandler(["magisk", "root", "su"], magisk, run_async=True) +KERNELSU_HANDLER = CommandHandler("kernelsu", kernelsu, run_async=True) ORANGEFOX_HANDLER = CommandHandler("orangefox", orangefox, run_async=True) TWRP_HANDLER = CommandHandler("twrp", twrp, run_async=True) GETFW_HANDLER = CommandHandler("getfw", getfw, run_async=True) @@ -338,8 +387,8 @@ def twrp(update: Update, context: CallbackContext): PHH_HANDLER = CommandHandler("phh", phh, run_async=True) MIUI_HANDLER = CommandHandler("miui", miui, run_async=True) - dispatcher.add_handler(MAGISK_HANDLER) +dispatcher.add_handler(KERNELSU_HANDLER) dispatcher.add_handler(ORANGEFOX_HANDLER) dispatcher.add_handler(TWRP_HANDLER) dispatcher.add_handler(GETFW_HANDLER) @@ -348,5 +397,5 @@ def twrp(update: Update, context: CallbackContext): dispatcher.add_handler(MIUI_HANDLER) __mod_name__ = "Android" -__command_list__ = ["magisk", "root", "su", "orangefox", "twrp", "checkfw", "getfw", "phh", "miui"] -__handlers__ = [MAGISK_HANDLER, ORANGEFOX_HANDLER, TWRP_HANDLER, GETFW_HANDLER, CHECKFW_HANDLER, PHH_HANDLER, MIUI_HANDLER] +__command_list__ = ["magisk", "kernelsu", "root", "su", "orangefox", "twrp", "checkfw", "getfw", "phh", "miui"] +__handlers__ = [MAGISK_HANDLER, KERNELSU_HANDLER, ORANGEFOX_HANDLER, TWRP_HANDLER, GETFW_HANDLER, CHECKFW_HANDLER, PHH_HANDLER, MIUI_HANDLER] From fd2bab46486198396bb3257cd69cb45fd6b56f5a Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 16 Mar 2025 01:18:10 +0000 Subject: [PATCH 077/153] modules: Add QR Code En/Decoder --- AstrakoBot/modules/qr_code.py | 119 ++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 AstrakoBot/modules/qr_code.py diff --git a/AstrakoBot/modules/qr_code.py b/AstrakoBot/modules/qr_code.py new file mode 100644 index 0000000000..b91928dd77 --- /dev/null +++ b/AstrakoBot/modules/qr_code.py @@ -0,0 +1,119 @@ +import requests +from AstrakoBot import dispatcher +from telegram import Update, ParseMode +from telegram.ext import CallbackContext, CommandHandler, run_async +from AstrakoBot.modules.sql.clear_cmd_sql import get_clearcmd +from AstrakoBot.modules.helper_funcs.misc import delete +from datetime import datetime + +from urllib.parse import quote +from telegram import Update +from telegram.ext import CallbackContext +import requests +from io import BytesIO + +def qr_encode(update: Update, context: CallbackContext): + message = update.effective_message + data = None + + if message.reply_to_message: + replied_msg = message.reply_to_message + data = replied_msg.caption or replied_msg.text + if not data: + message.reply_text("Replied message has no text/caption!") + return + else: + if not context.args: + message.reply_text("Please provide text or reply to a message!\nExample: /qr_encode hello world") + return + data = ' '.join(context.args) + + try: + encoded_data = quote(data) + qr_url = f"https://api.qrserver.com/v1/create-qr-code/?data={encoded_data}" + + response = requests.get(qr_url) + response.raise_for_status() + + img_file = BytesIO(response.content) + img_file.name = "qrcode.png" + + message.reply_document( + document=img_file, + filename="qrcode.png" + ) + + except requests.exceptions.RequestException as e: + message.reply_text(f"Failed to generate QR code: {str(e)}") + except Exception as e: + message.reply_text(f"An error occurred: {str(e)}") + +def qr_decode(update: Update, context: CallbackContext): + message = update.effective_message + target = message.reply_to_message or message + + photo = target.photo[-1] if target.photo else None + document = target.document + + file = None + if photo: + file = photo.get_file() + elif document and document.mime_type.startswith('image/'): + file = document.get_file() + else: + message.reply_text("Please reply to or send an image containing a QR code") + return + + try: + img_data = BytesIO() + file.download(out=img_data) + img_data.seek(0) + + if img_data.getbuffer().nbytes > 1048576: + message.reply_text("Image too large! Max 1MB allowed") + return + + response = requests.post( + 'https://api.qrserver.com/v1/read-qr-code/', + files={'file': ('qrcode', img_data, 'application/octet-stream')} + ) + response.raise_for_status() + result = response.json() + + if result and isinstance(result, list): + symbol_list = result[0].get('symbol', [{}]) + if not symbol_list: + return message.reply_text("No QR symbol data found") + text = symbol_list[0].get('data') + if text: + allowed_controls = {'\t', '\n', '\r'} + if all(c.isprintable() or c in allowed_controls for c in text): + return message.reply_text(f"Decoded QR content:\n\n{text}") + else: + return message.reply_text("QR Code contains unprintable characters") + else: + return message.reply_text("QR Code contains no readable data") + else: + return message.reply_text("Invalid or empty QR Code response") + + except requests.exceptions.RequestException as e: + message.reply_text(f"API Error: {str(e)}") + except Exception as e: + message.reply_text(f"Decoding failed: {str(e)}") + +__help__ = """ +*Available commands:*\n +*QR Code:* +• `/qr`, `/qr_encode`: Encode text to QR Code\n +• `/qr_decode`: Decode QR Code to text\n +""" + +ENCODE_HANDLER = CommandHandler(["qr", "qr_encode"], qr_encode, run_async=True) +DECODE_HANDLER = CommandHandler("qr_decode", qr_decode, run_async=True) + +dispatcher.add_handler(ENCODE_HANDLER) +dispatcher.add_handler(DECODE_HANDLER) + +__mod_name__ = "QR Code" +__command_list__ = ["qr", "qr_encode", "qr_decode"] +__handlers__ = [ENCODE_HANDLER, DECODE_HANDLER] From 57dc844ac7920ff590ab7b77b5baf8108c4a610d Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 16 Mar 2025 10:10:07 +0000 Subject: [PATCH 078/153] qr_code: Check file size before downloading --- AstrakoBot/modules/qr_code.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/AstrakoBot/modules/qr_code.py b/AstrakoBot/modules/qr_code.py index b91928dd77..bed69f1902 100644 --- a/AstrakoBot/modules/qr_code.py +++ b/AstrakoBot/modules/qr_code.py @@ -56,23 +56,26 @@ def qr_decode(update: Update, context: CallbackContext): document = target.document file = None + file_size = 0 if photo: + file_size = photo.file_size file = photo.get_file() elif document and document.mime_type.startswith('image/'): + file_size = document.file_size file = document.get_file() else: message.reply_text("Please reply to or send an image containing a QR code") return + if file_size > 1048576: + message.reply_text("Image too large! Max 1MB allowed") + return + try: img_data = BytesIO() file.download(out=img_data) img_data.seek(0) - if img_data.getbuffer().nbytes > 1048576: - message.reply_text("Image too large! Max 1MB allowed") - return - response = requests.post( 'https://api.qrserver.com/v1/read-qr-code/', files={'file': ('qrcode', img_data, 'application/octet-stream')} From 3feddc42c221b84064907daf72127d07a6c2f9f5 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 16 Mar 2025 10:25:32 +0000 Subject: [PATCH 079/153] status: Add network usage --- AstrakoBot/modules/systools.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/AstrakoBot/modules/systools.py b/AstrakoBot/modules/systools.py index 8dde8e418b..56f689e029 100644 --- a/AstrakoBot/modules/systools.py +++ b/AstrakoBot/modules/systools.py @@ -65,6 +65,16 @@ def get_size(bytes, suffix="B"): def convert(speed): return round(int(speed) / 1048576, 2) +def get_network_speed(): + old = psutil.net_io_counters() + + time.sleep(1) + + new = psutil.net_io_counters() + + upload = (new.bytes_sent - old.bytes_sent) + download = (new.bytes_recv - old.bytes_recv) + return upload, download @owner_plus def shell(update: Update, context: CallbackContext): @@ -137,6 +147,8 @@ def status(update: Update, context: CallbackContext): msg += f"Disk usage: `{get_size(disk.total)} total - {get_size(disk.used)} used ({disk.percent}%)`\n" swap = psutil.swap_memory() msg += f"SWAP: `{get_size(swap.total)} - {get_size(swap.used)} used ({swap.percent}%)`\n" + upload, download = get_network_speed() + msg += f"Network: `⬇ {get_size(download)}/s | ⬆ {get_size(upload)}/s`\n" message.reply_text( text = msg, From 843d988891c70888ea0328d44ea27265a385e589 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 16 Mar 2025 11:17:23 +0000 Subject: [PATCH 080/153] status: Fix ram percentage --- AstrakoBot/modules/systools.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/systools.py b/AstrakoBot/modules/systools.py index 56f689e029..cb20897145 100644 --- a/AstrakoBot/modules/systools.py +++ b/AstrakoBot/modules/systools.py @@ -142,7 +142,7 @@ def status(update: Update, context: CallbackContext): msg += f"CPU freq: `{psutil.cpu_freq().current:.2f}Mhz`\n" if psutil.cpu_freq() else "" msg += f"CPU usage: `{psutil.cpu_percent()}%`\n" ram = psutil.virtual_memory() - msg += f"RAM: `{get_size(ram.total)} - {get_size(ram.used)} used ({ram.percent}%)`\n" + msg += f"RAM: `{get_size(ram.total)} - {get_size(ram.used)} used ({round(ram.used / ram.total * 100, 2)}%)`\n" disk = psutil.disk_usage('/') msg += f"Disk usage: `{get_size(disk.total)} total - {get_size(disk.used)} used ({disk.percent}%)`\n" swap = psutil.swap_memory() From 30e4bf55e9528dac6f1886429a67505847b28be5 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 16 Mar 2025 12:28:11 +0000 Subject: [PATCH 081/153] temp_mute: Always mute * i.e. if an admin wants to change the mute time --- AstrakoBot/modules/muting.py | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/AstrakoBot/modules/muting.py b/AstrakoBot/modules/muting.py index e836008b58..72e8c4fb34 100644 --- a/AstrakoBot/modules/muting.py +++ b/AstrakoBot/modules/muting.py @@ -248,28 +248,22 @@ def temp_mute(update: Update, context: CallbackContext) -> str: log += f"\nReason: {reason}" try: - if member.can_send_messages is None or member.can_send_messages: - chat_permissions = ChatPermissions(can_send_messages=False) - bot.restrict_chat_member( - chat.id, user_id, chat_permissions, until_date=mutetime + chat_permissions = ChatPermissions(can_send_messages=False) + bot.restrict_chat_member( + chat.id, user_id, chat_permissions, until_date=mutetime + ) + if not silent: + reply = ( + f"Mute Event\n" + f" • User: {mention_html(member.user.id, html.escape(member.user.first_name))}\n" + f" • Time: {time_val}" ) - if not silent: - reply = ( - f"Mute Event\n" - f" • User: {mention_html(member.user.id, html.escape(member.user.first_name))}\n" - f" • Time: {time_val}" - ) - if reason: - reply += f"\n • Reason: {html.escape(reason)}" - bot.sendMessage(chat.id, reply, parse_mode=ParseMode.HTML) - else: - message.delete() - return log + if reason: + reply += f"\n • Reason: {html.escape(reason)}" + bot.sendMessage(chat.id, reply, parse_mode=ParseMode.HTML) else: - if not silent: - message.reply_text("This user is already muted.") - else: - message.delete() + message.delete() + return log except BadRequest as excp: if excp.message == "Reply message not found": From 36e274eda785168f33226fd2d668cd230f1f7f41 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Tue, 18 Mar 2025 21:39:13 +0000 Subject: [PATCH 082/153] paste: change API to dpaste --- AstrakoBot/modules/misc.py | 2 +- AstrakoBot/modules/paste.py | 28 +++++++++++++++++----------- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/AstrakoBot/modules/misc.py b/AstrakoBot/modules/misc.py index 778d0e5a7d..239f95181f 100644 --- a/AstrakoBot/modules/misc.py +++ b/AstrakoBot/modules/misc.py @@ -90,7 +90,7 @@ def markdown_help(update: Update, context: CallbackContext): *Markdown:* • `/markdownhelp`*:* quick summary of how markdown works in telegram - can only be called in private chats\n *Paste:* - • `/paste`*:* saves replied content to `nekobin.com` and replies with a url\n + • `/paste`*:* saves replied content to `dpaste.com` and replies with a url\n *React:* • `/react`*:* reacts with a random reaction\n *Urban Dictonary:* diff --git a/AstrakoBot/modules/paste.py b/AstrakoBot/modules/paste.py index a95e263850..3dfd1c3d65 100644 --- a/AstrakoBot/modules/paste.py +++ b/AstrakoBot/modules/paste.py @@ -4,7 +4,6 @@ from telegram import ParseMode, Update from telegram.ext import CallbackContext, run_async - def paste(update: Update, context: CallbackContext): args = context.args message = update.effective_message @@ -19,16 +18,23 @@ def paste(update: Update, context: CallbackContext): message.reply_text("What am I supposed to do with this?") return - key = ( - requests.post("https://nekobin.com/api/documents", json={"content": data}) - .json() - .get("result") - .get("key") - ) - - url = f"https://nekobin.com/{key}" - - reply_text = f"Nekofied to *Nekobin* : {url}" + reply_text = "Dpaste failed!" + try: + response = requests.post( + "https://dpaste.com/api/v2/", + data={ + "content": data, + "syntax": "text", + "expiry_days": 7 + }, + headers={"User-Agent": "Mozilla/5.0"}, + timeout=10 + ) + response.raise_for_status() + url = response.text.strip() + reply_text = f"Dpasted: {url}" + except Exception as e: + reply_text = f"Dpaste failed: {e}" message.reply_text( reply_text, parse_mode=ParseMode.MARKDOWN, disable_web_page_preview=True From d14fbd1586602471a4c7963db04d6c7fb9e14585 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Tue, 18 Mar 2025 21:47:56 +0000 Subject: [PATCH 083/153] quotly: Also accept /q --- AstrakoBot/modules/quotly.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/quotly.py b/AstrakoBot/modules/quotly.py index b21fe1b9eb..4842aec4c5 100644 --- a/AstrakoBot/modules/quotly.py +++ b/AstrakoBot/modules/quotly.py @@ -424,7 +424,7 @@ async def replied_user(draw, tot, text, maxlength, title): space += textfont.getsize(letter)[0] -@telethn.on(events.NewMessage(pattern="^[!/]quotly$")) +@telethn.on(events.NewMessage(pattern="^[!/](quotly|q)$")) async def quotly(event): if event.fwd_from: return From d33a4b4b9979dfbc2cfea9ee3e3350c712a2171d Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Wed, 19 Mar 2025 23:25:30 +0000 Subject: [PATCH 084/153] welcome: Stickers do not have caption --- AstrakoBot/modules/welcome.py | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/AstrakoBot/modules/welcome.py b/AstrakoBot/modules/welcome.py index 7c4d7e5b98..73ca2e11f8 100644 --- a/AstrakoBot/modules/welcome.py +++ b/AstrakoBot/modules/welcome.py @@ -430,13 +430,25 @@ def new_member(update: Update, context: CallbackContext): if welcome_bool: if media_wel: - sent = ENUM_FUNC_MAP[welc_type]( - chat.id, - cust_content, - caption=res, - reply_markup=keyboard, - parse_mode="markdown", - ) + # Stickers have no caption, send separately + if welc_type == sql.Types.STICKER: + sent_media = ENUM_FUNC_MAP[welc_type]( + chat.id, + cust_content, + reply_markup=keyboard + ) and ENUM_FUNC_MAP[sql.Types.TEXT]( + chat.id, + res, + parse_mode="markdown" + ) + else: + sent = ENUM_FUNC_MAP[welc_type]( + chat.id, + cust_content, + caption=res, + reply_markup=keyboard, + parse_mode="markdown" + ) else: sent = send(update, res, keyboard, backup_message) deletion(update, context, sent) From a9b5bde8cb4a603fc06fc7ca3b0db08f0a7a0698 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Thu, 20 Mar 2025 00:03:19 +0000 Subject: [PATCH 085/153] msg_types: Fix list index out of range --- AstrakoBot/modules/helper_funcs/msg_types.py | 27 ++++++++++---------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/AstrakoBot/modules/helper_funcs/msg_types.py b/AstrakoBot/modules/helper_funcs/msg_types.py index 446a53f60e..6e7265657e 100644 --- a/AstrakoBot/modules/helper_funcs/msg_types.py +++ b/AstrakoBot/modules/helper_funcs/msg_types.py @@ -137,20 +137,21 @@ def get_welcome_type(msg: Message): data_type = Types.VIDEO_NOTE buttons = [] + argumen = None # determine what the contents of the filter are - text, image, sticker, etc - if args: - if msg.reply_to_message: - argumen = ( - msg.reply_to_message.caption if msg.reply_to_message.caption else "" - ) - offset = 0 # offset is no need since target was in reply - entities = msg.reply_to_message.parse_entities() - else: - argumen = args[1] - offset = len(argumen) - len( - msg.text - ) # set correct offset relative to command + notename - entities = msg.parse_entities() + if msg.reply_to_message: + argumen = ( + msg.reply_to_message.caption if msg.reply_to_message.caption else "" + ) + offset = 0 # offset is no need since target was in reply + entities = msg.reply_to_message.parse_entities() + elif args and len(args) > 1: + argumen = args[1] + offset = len(argumen) - len( + msg.text + ) # set correct offset relative to command + notename + entities = msg.parse_entities() + if argumen: text, buttons = button_markdown_parser( argumen, entities=entities, offset=offset ) From dc23887990796870a79265899945070d42f83a2d Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Thu, 20 Mar 2025 00:14:40 +0000 Subject: [PATCH 086/153] msg_types: Fix replying to plain text --- AstrakoBot/modules/helper_funcs/msg_types.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/AstrakoBot/modules/helper_funcs/msg_types.py b/AstrakoBot/modules/helper_funcs/msg_types.py index 6e7265657e..b8ac4c34fd 100644 --- a/AstrakoBot/modules/helper_funcs/msg_types.py +++ b/AstrakoBot/modules/helper_funcs/msg_types.py @@ -140,9 +140,7 @@ def get_welcome_type(msg: Message): argumen = None # determine what the contents of the filter are - text, image, sticker, etc if msg.reply_to_message: - argumen = ( - msg.reply_to_message.caption if msg.reply_to_message.caption else "" - ) + argumen = msg.reply_to_message.caption or msg.reply_to_message.text or "" offset = 0 # offset is no need since target was in reply entities = msg.reply_to_message.parse_entities() elif args and len(args) > 1: From a56f480eeccf205d44f8a7c7859f1dd6c5b89793 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Thu, 20 Mar 2025 00:47:13 +0000 Subject: [PATCH 087/153] global_bans: Fix Message to be replied not found --- AstrakoBot/modules/global_bans.py | 35 ++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/AstrakoBot/modules/global_bans.py b/AstrakoBot/modules/global_bans.py index 3677a350cc..79d2bdd47b 100644 --- a/AstrakoBot/modules/global_bans.py +++ b/AstrakoBot/modules/global_bans.py @@ -380,10 +380,17 @@ def ungban(update: Update, context: CallbackContext): if ungban_time > 60: ungban_time = round((ungban_time / 60), 2) - message.reply_text(f"Person has been un-gbanned. Took {ungban_time} min") + text = (f"Person has been un-gbanned. Took {ungban_time} min") else: - message.reply_text(f"Person has been un-gbanned. Took {ungban_time} sec") + text = (f"Person has been un-gbanned. Took {ungban_time} sec") + try: + message.reply_text(text) + except BadRequest: + context.bot.send_message( + chat_id=chat.id, + text=text + ) @support_plus def gbanlist(update: Update, context: CallbackContext): @@ -423,14 +430,22 @@ def check_and_ban(update, user_id, should_message=True): if sw_ban: update.effective_chat.ban_member(user_id) if should_message: - update.effective_message.reply_text( + text = ( f"Alert: this user is globally banned.\n" f"*bans them from here*.\n" f"Appeal chat: {SPAMWATCH_SUPPORT_CHAT}\n" f"User ID: {sw_ban.id}\n" - f"Ban Reason: {html.escape(sw_ban.reason)}", - parse_mode=ParseMode.HTML, + f"Ban Reason: {html.escape(sw_ban.reason)}" ) + try: + update.effective_message.reply_text(text, parse_mode=ParseMode.HTML) + except BadRequest: + update.effective_chat.bot.send_message( + chat_id=update.effective_chat.id, + text=text, + parse_mode=ParseMode.HTML + ) + return if sql.is_user_gbanned(user_id): @@ -445,8 +460,14 @@ def check_and_ban(update, user_id, should_message=True): user = sql.get_gbanned_user(user_id) if user.reason: text += f"\nBan Reason: {html.escape(user.reason)}" - update.effective_message.reply_text(text, parse_mode=ParseMode.HTML) - + try: + update.effective_message.reply_text(text, parse_mode=ParseMode.HTML) + except BadRequest: + update.effective_chat.bot.send_message( + chat_id=update.effective_chat.id, + text=text, + parse_mode=ParseMode.HTML + ) def enforce_gban(update: Update, _: CallbackContext): chat = update.effective_chat From 4b107339a971f51bd6a69593d262daa740113329 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Thu, 20 Mar 2025 01:31:27 +0000 Subject: [PATCH 088/153] welcome: Fix typo --- AstrakoBot/modules/welcome.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/welcome.py b/AstrakoBot/modules/welcome.py index 73ca2e11f8..33663b4b66 100644 --- a/AstrakoBot/modules/welcome.py +++ b/AstrakoBot/modules/welcome.py @@ -432,7 +432,7 @@ def new_member(update: Update, context: CallbackContext): if media_wel: # Stickers have no caption, send separately if welc_type == sql.Types.STICKER: - sent_media = ENUM_FUNC_MAP[welc_type]( + sent = ENUM_FUNC_MAP[welc_type]( chat.id, cust_content, reply_markup=keyboard From bcdbccf6cbc4dfc0f74a04075e29eb1473feb76e Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Thu, 20 Mar 2025 01:49:24 +0000 Subject: [PATCH 089/153] tts: Fix some issues 1: Support taking text from replied message 2: Handle TTS service failure 3: Use random name for tts file (fixes easy tts race across the bot) 4: Remove ml language --- AstrakoBot/modules/tts.py | 72 ++++++++++++++++++++++----------------- 1 file changed, 40 insertions(+), 32 deletions(-) diff --git a/AstrakoBot/modules/tts.py b/AstrakoBot/modules/tts.py index b28cba4bde..c0cdee3d13 100644 --- a/AstrakoBot/modules/tts.py +++ b/AstrakoBot/modules/tts.py @@ -1,7 +1,9 @@ +import uuid import os from datetime import datetime from typing import List from gtts import gTTS +from gtts.tts import gTTSError from telegram import Update, ChatAction, ParseMode from AstrakoBot.modules.sql.clear_cmd_sql import get_clearcmd @@ -12,47 +14,53 @@ def tts(update: Update, context: CallbackContext): - args = context.args message = update.effective_message chat = update.effective_chat - delmsg = "" + args = context.args + delmsg = None + text = "" if message.reply_to_message: - delmsg = message.reply_to_message.text - - if args: - delmsg = " ".join(args).lower() - - current_time = datetime.strftime(datetime.now(), "%d.%m.%Y %H:%M:%S") - filename = datetime.now().strftime("%d%m%y-%H%M%S%f") - update.message.chat.send_action(ChatAction.RECORD_AUDIO) - lang = "ml" - tts = gTTS(delmsg, 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(delmsg, lang) - tts.save("k.mp3") - with open("k.mp3", "rb") as speech: - delmsg = update.message.reply_voice(speech, quote=False) - - os.remove("k.mp3") - + text = message.reply_to_message.text or message.reply_to_message.caption or "" + elif args: + text = " ".join(args).lower() else: - delmsg = message.reply_text( - "Reply a message or give something like:\n`/tts `", - parse_mode = ParseMode.MARKDOWN + message.reply_text( + "Reply to a message or use: /tts ", + parse_mode=ParseMode.MARKDOWN ) + return + + if not text.strip(): + message.reply_text("Please provide valid text to convert to speech.") + return + + filename = f"tts_{uuid.uuid4()}.mp3" + + try: + message.chat.send_action(ChatAction.RECORD_AUDIO) + + tts = gTTS(text=text, lang='en', tld='com', timeout=60) + tts.save(filename) + + with open(filename, 'rb') as audio_file: + delmsg = message.reply_voice( + voice=audio_file, + quote=False + ) + + try: + os.remove(filename) + except: + pass - cleartime = get_clearcmd(chat.id, "tts") + cleartime = get_clearcmd(chat.id, "tts") - if cleartime: - context.dispatcher.run_async(delete, delmsg, cleartime.time) + if cleartime: + context.dispatcher.run_async(delete, delmsg, cleartime.time) + except: + message.reply_text("Failed to connect to the TTS service. Please try again later.") TTS_HANDLER = DisableAbleCommandHandler("tts", tts, run_async=True) From 5b0271a666bfdf2327dc8a954ad626039eaa867d Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Thu, 20 Mar 2025 01:59:38 +0000 Subject: [PATCH 090/153] fun: Remove duplicated weebify module --- AstrakoBot/modules/fun.py | 88 --------------------------------------- 1 file changed, 88 deletions(-) diff --git a/AstrakoBot/modules/fun.py b/AstrakoBot/modules/fun.py index 9087412b88..4b0d121589 100644 --- a/AstrakoBot/modules/fun.py +++ b/AstrakoBot/modules/fun.py @@ -212,90 +212,6 @@ def table(update: Update, context: CallbackContext): deletion(update, context, reply_text(random.choice(fun_strings.TABLE))) -normiefont = [ - "a", - "b", - "c", - "d", - "e", - "f", - "g", - "h", - "i", - "j", - "k", - "l", - "m", - "n", - "o", - "p", - "q", - "r", - "s", - "t", - "u", - "v", - "w", - "x", - "y", - "z", -] -weebyfont = [ - "卂", - "乃", - "匚", - "刀", - "乇", - "下", - "厶", - "卄", - "工", - "丁", - "长", - "乚", - "从", - "𠘨", - "口", - "尸", - "㔿", - "尺", - "丂", - "丅", - "凵", - "リ", - "山", - "乂", - "丫", - "乙", -] - - -def weebify(update: Update, context: CallbackContext): - args = context.args - message = update.effective_message - string = "" - - if message.reply_to_message: - string = message.reply_to_message.text.lower().replace(" ", " ") - - if args: - string = " ".join(args).lower() - - if not string: - deletion(update, context, message.reply_text("Usage is `/weebify `", parse_mode=ParseMode.MARKDOWN)) - return - - for normiecharacter in string: - if normiecharacter in normiefont: - weebycharacter = weebyfont[normiefont.index(normiecharacter)] - string = string.replace(normiecharacter, weebycharacter) - - if message.reply_to_message: - deletion(update, context, message.reply_to_message.reply_text(string)) - else: - deletion(update, context, message.reply_text(string)) - - def deletion(update: Update, context: CallbackContext, delmsg): chat = update.effective_chat cleartime = get_clearcmd(chat.id, "fun") @@ -336,9 +252,7 @@ def deletion(update: Update, context: CallbackContext, delmsg): EIGHTBALL_HANDLER = DisableAbleCommandHandler("8ball", eightball, run_async=True) TABLE_HANDLER = DisableAbleCommandHandler("table", table, run_async=True) SHOUT_HANDLER = DisableAbleCommandHandler("shout", shout, run_async=True) -WEEBIFY_HANDLER = DisableAbleCommandHandler("weebify", weebify, run_async=True) -dispatcher.add_handler(WEEBIFY_HANDLER) dispatcher.add_handler(SHOUT_HANDLER) dispatcher.add_handler(SANITIZE_HANDLER) dispatcher.add_handler(RUNS_HANDLER) @@ -367,7 +281,6 @@ def deletion(update: Update, context: CallbackContext, delmsg): "pat", "sanitize", "shout", - "weebify", "8ball", ] __handlers__ = [ @@ -383,6 +296,5 @@ def deletion(update: Update, context: CallbackContext, delmsg): TABLE_HANDLER, SANITIZE_HANDLER, SHOUT_HANDLER, - WEEBIFY_HANDLER, EIGHTBALL_HANDLER, ] From d8862092b72f6475d211f4a2db2ebf79d775077d Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Thu, 20 Mar 2025 02:04:36 +0000 Subject: [PATCH 091/153] weebify: Fix invalid text parsing --- AstrakoBot/modules/weebify.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/AstrakoBot/modules/weebify.py b/AstrakoBot/modules/weebify.py index 5018f5f0f0..c1d3f81588 100644 --- a/AstrakoBot/modules/weebify.py +++ b/AstrakoBot/modules/weebify.py @@ -67,7 +67,8 @@ def weebify(update: Update, context: CallbackContext): string = "" if message.reply_to_message: - string = message.reply_to_message.text.lower().replace(" ", " ") + text = message.reply_to_message.text or message.reply_to_message.caption or "" + string = text.lower().replace(" ", " ") if args: string = " ".join(args).lower() From 969e1a3cc6d19562d64500c556936887c75a5a65 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Thu, 20 Mar 2025 10:36:04 +0000 Subject: [PATCH 092/153] extract_time: Fix overflow --- AstrakoBot/modules/helper_funcs/string_handling.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/AstrakoBot/modules/helper_funcs/string_handling.py b/AstrakoBot/modules/helper_funcs/string_handling.py index 4164c7d241..0325e1339e 100644 --- a/AstrakoBot/modules/helper_funcs/string_handling.py +++ b/AstrakoBot/modules/helper_funcs/string_handling.py @@ -261,11 +261,11 @@ def extract_time(message, time_val): return "" if unit == "m": - bantime = int(time.time() + int(time_num) * 60) + bantime = int(time.time()) + int(time_num) * 60 elif unit == "h": - bantime = int(time.time() + int(time_num) * 60 * 60) + bantime = int(time.time()) + int(time_num) * 60 * 60 elif unit == "d": - bantime = int(time.time() + int(time_num) * 24 * 60 * 60) + bantime = int(time.time()) + int(time_num) * 24 * 60 * 60 else: # how even...? return "" From 13b5ebebc1ac31a3a1a048ada9aacfacd7478080 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Thu, 20 Mar 2025 11:31:49 +0000 Subject: [PATCH 093/153] sanitize: Update gifs IDs Also, send text if gifs are unreachable --- AstrakoBot/modules/fun.py | 15 +++++++++------ AstrakoBot/modules/fun_strings.py | 6 +++--- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/AstrakoBot/modules/fun.py b/AstrakoBot/modules/fun.py index 4b0d121589..c992db993e 100644 --- a/AstrakoBot/modules/fun.py +++ b/AstrakoBot/modules/fun.py @@ -13,8 +13,6 @@ from telegram.error import BadRequest from telegram.ext import CallbackContext, run_async -GIF_ID = "CgACAgQAAx0CSVUvGgAC7KpfWxMrgGyQs-GUUJgt-TSO8cOIDgACaAgAAlZD0VHT3Zynpr5nGxsE" - def runs(update: Update, context: CallbackContext): deletion(update, context, update.effective_message.reply_text(random.choice(fun_strings.RUN_STRINGS))) @@ -27,12 +25,17 @@ def sanitize(update: Update, context: CallbackContext): if message.reply_to_message else message.from_user.first_name ) - reply_animation = ( - message.reply_to_message.reply_animation + + reply_msg = ( + message.reply_to_message if message.reply_to_message - else message.reply_animation + else message ) - deletion(update, context, reply_animation(random.choice(fun_strings.GIFS), caption=f"*Sanitizes {name}*")) + + try: + deletion(update, context, reply_msg.reply_animation(random.choice(fun_strings.GIFS), caption=f"*Sanitizes {name}*")) + except BadRequest: + deletion(update, context, reply_msg.reply_text(f"*Sanitizes {name}*")) def slap(update: Update, context: CallbackContext): diff --git a/AstrakoBot/modules/fun_strings.py b/AstrakoBot/modules/fun_strings.py index 02fced88ae..c090aabd25 100644 --- a/AstrakoBot/modules/fun_strings.py +++ b/AstrakoBot/modules/fun_strings.py @@ -20,9 +20,9 @@ ) GIFS = [ - "CgACAgQAAx0CSVUvGgAC7KpfWxMrgGyQs-GUUJgt-TSO8cOIDgACaAgAAlZD0VHT3Zynpr5nGxsE", - "CgACAgUAAx0CU_rCTAABAjdgX1s4NVaeCls6YaH3p43vgdCRwQIAAqsAA4P_MFUYQhyoR-kgpRsE", - "CgACAgUAAx0CU_rCTAABAjdSX1s3fq5iEJ64YeQLKI8cD7CSuSEAAlUBAAJu09hW5iqWB0hTPD4bBA", + "CgACAgUAAxkBAAM5Z9v5Sb4bJusBpEGzUII4mkJy8kkAAqsAA4P_MFVYEKwLUZWtHTYE", + "CgACAgUAAxkBAAM7Z9v5dv9WG5PlhxgWzj7Tj5l3TtUAAlUBAAJu09hWKztDjBmVh5k2BA", + "CgACAgQAAxkBAAM9Z9v5h7FGfqljNG2mBgqsdfq32h8AAmgIAAJWQ9FRSM-c1Iswcac2BA", ] SLAP_SAITAMA_TEMPLATES = ( From fc508756554b99cb09c92ca1fabd0af705109d2a Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Thu, 20 Mar 2025 11:48:32 +0000 Subject: [PATCH 094/153] users_sql: Fix attribute error --- AstrakoBot/modules/sql/users_sql.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/sql/users_sql.py b/AstrakoBot/modules/sql/users_sql.py index 9fb699161b..a4d6e919c0 100644 --- a/AstrakoBot/modules/sql/users_sql.py +++ b/AstrakoBot/modules/sql/users_sql.py @@ -218,7 +218,7 @@ def del_user(user_id): SESSION.commit() return True - ChatMembers.query.filter(ChatMembers.user == user_id).delete() + SESSION.query(ChatMembers).filter(ChatMembers.user == user_id).delete() SESSION.commit() SESSION.close() return False From f0db1820434d45e677d0ed19d937388cbbd573da Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Thu, 20 Mar 2025 11:53:13 +0000 Subject: [PATCH 095/153] backups: Handle invalid/corrupted backups --- AstrakoBot/modules/backups.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/AstrakoBot/modules/backups.py b/AstrakoBot/modules/backups.py index fa7fce5445..2dce1f7b33 100644 --- a/AstrakoBot/modules/backups.py +++ b/AstrakoBot/modules/backups.py @@ -57,7 +57,13 @@ def import_data(update: Update, context: CallbackContext): with BytesIO() as file: file_info.download(out=file) file.seek(0) - data = json.load(file) + try: + data = json.load(file) + except json.decoder.JSONDecodeError: + msg.reply_text( + "Backup seems to be invalid or corrupted!" + ) + return # only import one group if len(data) > 1 and str(chat.id) not in data: From 4de1b36f9fbf338f05ed8020c80996db51e2b9de Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Thu, 20 Mar 2025 12:01:49 +0000 Subject: [PATCH 096/153] chat_checker: Ignore TimedOut We can't do anything, try again on next run --- AstrakoBot/modules/users.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/users.py b/AstrakoBot/modules/users.py index 69a65f2c40..a8644c82ad 100644 --- a/AstrakoBot/modules/users.py +++ b/AstrakoBot/modules/users.py @@ -183,7 +183,7 @@ def chat_checker(update: Update, context: CallbackContext): try: if update.effective_message.chat.get_member(bot.id).can_send_messages is False: bot.leaveChat(update.effective_message.chat.id) - except Unauthorized: + except: pass From ecf94fa9dfc4136a82bf4d474d892db0a7400df4 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Thu, 20 Mar 2025 12:14:07 +0000 Subject: [PATCH 097/153] ungban: Use effective_chat --- AstrakoBot/modules/global_bans.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/global_bans.py b/AstrakoBot/modules/global_bans.py index 79d2bdd47b..64851a4c22 100644 --- a/AstrakoBot/modules/global_bans.py +++ b/AstrakoBot/modules/global_bans.py @@ -388,7 +388,7 @@ def ungban(update: Update, context: CallbackContext): message.reply_text(text) except BadRequest: context.bot.send_message( - chat_id=chat.id, + chat_id=update.effective_chat.id, text=text ) From c877fbace4e145b22adeecaa370476bf118ac855 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Thu, 20 Mar 2025 12:23:19 +0000 Subject: [PATCH 098/153] feds: Check for current federation --- AstrakoBot/modules/feds.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/AstrakoBot/modules/feds.py b/AstrakoBot/modules/feds.py index ff563d1e04..37fd92b3a7 100644 --- a/AstrakoBot/modules/feds.py +++ b/AstrakoBot/modules/feds.py @@ -371,6 +371,11 @@ def user_join_fed(update: Update, context: CallbackContext): LOGGER.warning("error") getuser = sql.search_user_in_fed(fed_id, user_id) fed_id = sql.get_fed_id(chat.id) + if not fed_id: + update.effective_message.reply_text( + "This group is not in any federation!" + ) + return info = sql.get_fed_info(fed_id) get_owner = ast.literal_eval(info["fusers"])["owner"] get_owner = bot.get_chat(get_owner).id From 03983c954435f0c315b24c8137d1b2ee266d645f Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Thu, 20 Mar 2025 12:45:47 +0000 Subject: [PATCH 099/153] fpromote/fdemote: Fix user parsing --- AstrakoBot/modules/feds.py | 43 +++++++------------------------------- 1 file changed, 8 insertions(+), 35 deletions(-) diff --git a/AstrakoBot/modules/feds.py b/AstrakoBot/modules/feds.py index 37fd92b3a7..49deb6ea7f 100644 --- a/AstrakoBot/modules/feds.py +++ b/AstrakoBot/modules/feds.py @@ -352,23 +352,11 @@ def user_join_fed(update: Update, context: CallbackContext): if is_user_fed_owner(fed_id, user.id) or user.id in SUDO_USERS: user_id = extract_user(msg, args) - if user_id: - user = bot.get_chat(user_id) - elif not msg.reply_to_message and not args: - user = msg.from_user - elif not msg.reply_to_message and ( - not args - or ( - len(args) >= 1 - and not args[0].startswith("@") - and not args[0].isdigit() - and not msg.parse_entities([MessageEntity.TEXT_MENTION]) - ) - ): - msg.reply_text("I cannot extract user from this message") + if not user_id: + msg.reply_text("Who are you trying to promote?") return - else: - LOGGER.warning("error") + user = bot.get_chat(user_id) + getuser = sql.search_user_in_fed(fed_id, user_id) fed_id = sql.get_fed_id(chat.id) if not fed_id: @@ -417,28 +405,13 @@ def user_demote_fed(update: Update, context: CallbackContext): fed_id = sql.get_fed_id(chat.id) - if is_user_fed_owner(fed_id, user.id): + if is_user_fed_owner(fed_id, user.id) or user.id in SUDO_USERS: msg = update.effective_message user_id = extract_user(msg, args) - if user_id: - user = bot.get_chat(user_id) - - elif not msg.reply_to_message and not args: - user = msg.from_user - - elif not msg.reply_to_message and ( - not args - or ( - len(args) >= 1 - and not args[0].startswith("@") - and not args[0].isdigit() - and not msg.parse_entities([MessageEntity.TEXT_MENTION]) - ) - ): - msg.reply_text("I cannot extract user from this message") + if not user_id: + msg.reply_text("Who are you trying to demote?") return - else: - LOGGER.warning("error") + user = bot.get_chat(user_id) if user_id == bot.id: update.effective_message.reply_text( From 339fba584e776690512e5ae34e3611f1867dc4e8 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Thu, 20 Mar 2025 14:58:37 +0000 Subject: [PATCH 100/153] chat_checker: Use admin_status module --- AstrakoBot/__main__.py | 16 +++++++++------- AstrakoBot/modules/helper_funcs/admin_status.py | 6 +++++- AstrakoBot/modules/helper_funcs/chat_status.py | 6 +++++- AstrakoBot/modules/users.py | 3 ++- 4 files changed, 21 insertions(+), 10 deletions(-) diff --git a/AstrakoBot/__main__.py b/AstrakoBot/__main__.py index d2fe21830f..edd86acc7a 100644 --- a/AstrakoBot/__main__.py +++ b/AstrakoBot/__main__.py @@ -257,13 +257,15 @@ def start(update: Update, context: CallbackContext): ), ) else: - update.effective_message.reply_text( - "I'm awake already!\nHaven't slept since: {}".format( - uptime - ), - parse_mode=ParseMode.HTML, - ) - + try: + update.effective_message.reply_text( + "I'm awake already!\nHaven't slept since: {}".format( + uptime + ), + parse_mode=ParseMode.HTML, + ) + except BadRequest: + pass # chat_checker will take care of it, just don't error # for test purposes def error_callback(update: Update, context: CallbackContext): diff --git a/AstrakoBot/modules/helper_funcs/admin_status.py b/AstrakoBot/modules/helper_funcs/admin_status.py index 3b1da1707f..382389e8a8 100644 --- a/AstrakoBot/modules/helper_funcs/admin_status.py +++ b/AstrakoBot/modules/helper_funcs/admin_status.py @@ -4,6 +4,7 @@ from telegram import Chat, ChatMember, TelegramError, Update from telegram.ext import CallbackContext, ChatMemberHandler +from telegram.error import Unauthorized from AstrakoBot import SUDO_USERS, dispatcher @@ -41,7 +42,10 @@ def get_mem_from_cache(user_id: int, chat_id: int) -> ChatMember: return i except KeyError: - admins = dispatcher.bot.getChatAdministrators(chat_id) + try: + admins = dispatcher.bot.getChatAdministrators(chat_id) + except Unauthorized: + return None USER_ADMIN_CACHE[chat_id] = admins for i in admins: if i.user.id == user_id: diff --git a/AstrakoBot/modules/helper_funcs/chat_status.py b/AstrakoBot/modules/helper_funcs/chat_status.py index f785de38f5..04fd3103f0 100644 --- a/AstrakoBot/modules/helper_funcs/chat_status.py +++ b/AstrakoBot/modules/helper_funcs/chat_status.py @@ -15,6 +15,7 @@ from telegram import Chat, ChatMember, ParseMode, Update from telegram.ext import CallbackContext +from telegram.error import Unauthorized # stores admemes in memory for 10 min. ADMIN_CACHE = TTLCache(maxsize=512, ttl=60 * 10, timer=perf_counter) @@ -51,7 +52,10 @@ def is_user_admin(chat: Chat, user_id: int, member: ChatMember = None) -> bool: # keyerror happend means cache is deleted, # so query bot api again and return user status # while saving it in cache for future useage... - chat_admins = dispatcher.bot.getChatAdministrators(chat.id) + try: + chat_admins = dispatcher.bot.getChatAdministrators(chat.id) + except Unauthorized: + return False # bot is not member of the supergroup admin_list = [x.user.id for x in chat_admins] ADMIN_CACHE[chat.id] = admin_list diff --git a/AstrakoBot/modules/users.py b/AstrakoBot/modules/users.py index a8644c82ad..f64c24e2b7 100644 --- a/AstrakoBot/modules/users.py +++ b/AstrakoBot/modules/users.py @@ -16,6 +16,7 @@ from AstrakoBot import DEV_USERS, LOGGER, OWNER_ID, dispatcher from AstrakoBot.modules.helper_funcs.chat_status import dev_plus, sudo_plus from AstrakoBot.modules.sql.users_sql import get_all_users +from AstrakoBot.modules.helper_funcs.admin_status import get_bot_member USERS_GROUP = 4 CHAT_GROUP = 5 @@ -181,7 +182,7 @@ def chats(update: Update, context: CallbackContext): def chat_checker(update: Update, context: CallbackContext): bot = context.bot try: - if update.effective_message.chat.get_member(bot.id).can_send_messages is False: + if get_bot_member(update.effective_chat.id).can_send_messages is False: bot.leaveChat(update.effective_message.chat.id) except: pass From 2f69f877fef829283056ece78f6a1ed1cc8f74fb Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Thu, 20 Mar 2025 15:46:03 +0000 Subject: [PATCH 101/153] muting: Handle insufficient permissions --- AstrakoBot/modules/muting.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/AstrakoBot/modules/muting.py b/AstrakoBot/modules/muting.py index 72e8c4fb34..c5cf5322f0 100644 --- a/AstrakoBot/modules/muting.py +++ b/AstrakoBot/modules/muting.py @@ -16,6 +16,7 @@ ) from AstrakoBot.modules.helper_funcs.string_handling import extract_time from AstrakoBot.modules.log_channel import loggable +from AstrakoBot.modules.helper_funcs.admin_status import get_bot_member from telegram import Bot, Chat, ChatPermissions, ParseMode, Update from telegram.error import BadRequest from telegram.ext import CallbackContext, CommandHandler, run_async @@ -90,6 +91,12 @@ def mute(update: Update, context: CallbackContext) -> str: if member.can_send_messages is None or member.can_send_messages: chat_permissions = ChatPermissions(can_send_messages=False) + if not get_bot_member(chat.id).can_restrict_members: + if not silent: + bot.sendMessage(chat.id, "I can't restrict people here!") + else: + message.delete() + return log bot.restrict_chat_member(chat.id, user_id, chat_permissions) if not silent: reply = ( @@ -150,6 +157,9 @@ def unmute(update: Update, context: CallbackContext) -> str: ): if not silent: message.reply_text("This user already has the right to speak.") + elif not get_bot_member(chat.id).can_restrict_members: + if not silent: + bot.sendMessage(chat.id, "I can't restrict people here!") else: chat_permissions = ChatPermissions( can_send_messages=True, From 02ab6d39e09c517f4b7b3fdafce88071b361f48b Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Thu, 20 Mar 2025 16:04:07 +0000 Subject: [PATCH 102/153] modules: Make use of admin_status module --- AstrakoBot/__main__.py | 6 +-- AstrakoBot/modules/admin.py | 6 +-- AstrakoBot/modules/antiflood.py | 4 +- AstrakoBot/modules/bans.py | 4 +- AstrakoBot/modules/cleaner.py | 3 +- AstrakoBot/modules/disable.py | 4 +- AstrakoBot/modules/feds.py | 4 +- AstrakoBot/modules/fun.py | 4 +- AstrakoBot/modules/global_bans.py | 1 - .../modules/helper_funcs/chat_status.py | 47 ++++--------------- AstrakoBot/modules/locks.py | 6 +-- AstrakoBot/modules/muting.py | 6 +-- AstrakoBot/modules/remote_cmds.py | 11 +++-- AstrakoBot/modules/warns.py | 4 +- 14 files changed, 41 insertions(+), 69 deletions(-) diff --git a/AstrakoBot/__main__.py b/AstrakoBot/__main__.py index edd86acc7a..1455faa239 100644 --- a/AstrakoBot/__main__.py +++ b/AstrakoBot/__main__.py @@ -26,7 +26,7 @@ # needed to dynamically load modules # NOTE: Module order is not guaranteed, specify that in the config file! from AstrakoBot.modules import ALL_MODULES -from AstrakoBot.modules.helper_funcs.chat_status import is_user_admin +from AstrakoBot.modules.helper_funcs.admin_status import user_is_admin from AstrakoBot.modules.helper_funcs.misc import paginate_modules from telegram import InlineKeyboardButton, InlineKeyboardMarkup, ParseMode, Update from telegram.error import ( @@ -203,7 +203,7 @@ def start(update: Update, context: CallbackContext): match = re.match("stngs_(.*)", args[0].lower()) chat = dispatcher.bot.getChat(match.group(1)) - if is_user_admin(chat, update.effective_user.id): + if user_is_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) @@ -551,7 +551,7 @@ def get_settings(update: Update, context: CallbackContext): # ONLY send settings in PM if chat.type != chat.PRIVATE: - if is_user_admin(chat, user.id): + if user_is_admin(chat, user.id): text = "Click here to get this chat's settings, as well as yours." msg.reply_text( text, diff --git a/AstrakoBot/modules/admin.py b/AstrakoBot/modules/admin.py index a5d09ed9c8..4b568b4147 100644 --- a/AstrakoBot/modules/admin.py +++ b/AstrakoBot/modules/admin.py @@ -15,7 +15,7 @@ user_admin, ADMIN_CACHE, ) - +from AstrakoBot.modules.helper_funcs.admin_status import get_bot_member from AstrakoBot.modules.helper_funcs.extraction import ( extract_user, extract_user_and_text, @@ -68,7 +68,7 @@ def promote(update: Update, context: CallbackContext) -> str: return # set same perms as bot - bot can't assign higher perms than itself! - bot_member = chat.get_member(bot.id) + bot_member = get_bot_member(chat.id) try: bot.promoteChatMember( @@ -358,7 +358,7 @@ def invite(update: Update, context: CallbackContext): if chat.username: update.effective_message.reply_text(f"https://t.me/{chat.username}") elif chat.type in [chat.SUPERGROUP, chat.CHANNEL]: - bot_member = chat.get_member(bot.id) + bot_member = get_bot_member(chat.id) if bot_member.can_invite_users: invitelink = bot.exportChatInviteLink(chat.id) update.effective_message.reply_text(invitelink) diff --git a/AstrakoBot/modules/antiflood.py b/AstrakoBot/modules/antiflood.py index 3fce4f8bdc..31a882c2d8 100644 --- a/AstrakoBot/modules/antiflood.py +++ b/AstrakoBot/modules/antiflood.py @@ -7,7 +7,6 @@ from AstrakoBot import WHITELIST_USERS, dispatcher from AstrakoBot.modules.helper_funcs.chat_status import ( bot_admin, - is_user_admin, user_admin, user_admin_no_reply, ) @@ -27,6 +26,7 @@ from AstrakoBot.modules.connection import connected from AstrakoBot.modules.helper_funcs.alternate import send_message from AstrakoBot.modules.sql.approve_sql import is_approved +from AstrakoBot.modules.helper_funcs.admin_status import user_is_admin FLOOD_GROUP = 3 @@ -40,7 +40,7 @@ def check_flood(update: Update, context: CallbackContext) -> str: return "" # ignore admins, whitelists and telegram's native tech - if is_user_admin(chat, user.id) or user.id in WHITELIST_USERS or user.id == 777000: + if user_is_admin(chat, user.id) or user.id in WHITELIST_USERS or user.id == 777000: sql.update_flood(chat.id, None) return "" # ignore approved users diff --git a/AstrakoBot/modules/bans.py b/AstrakoBot/modules/bans.py index 4fc9e40f84..913a9c9200 100644 --- a/AstrakoBot/modules/bans.py +++ b/AstrakoBot/modules/bans.py @@ -19,7 +19,6 @@ bot_admin, can_restrict, connection_status, - is_user_admin, is_user_ban_protected, is_user_in_chat, user_admin, @@ -27,6 +26,7 @@ can_delete, is_bot_admin, ) +from AstrakoBot.modules.helper_funcs.admin_status import user_is_admin from AstrakoBot.modules.helper_funcs.extraction import extract_user_and_text from AstrakoBot.modules.helper_funcs.string_handling import extract_time from AstrakoBot.modules.log_channel import gloggable, loggable @@ -295,7 +295,7 @@ def punch(update: Update, context: CallbackContext) -> str: @can_restrict def punchme(update: Update, context: CallbackContext): user_id = update.effective_message.from_user.id - if is_user_admin(update.effective_chat, user_id): + if user_is_admin(update.effective_chat, user_id): update.effective_message.reply_text("I wish I could... but you're an admin.") return diff --git a/AstrakoBot/modules/cleaner.py b/AstrakoBot/modules/cleaner.py index f94f4dab77..563e804f78 100644 --- a/AstrakoBot/modules/cleaner.py +++ b/AstrakoBot/modules/cleaner.py @@ -8,6 +8,7 @@ dev_plus, user_admin, ) +from AstrakoBot.modules.helper_funcs.admin_status import get_bot_member from AstrakoBot.modules.sql import cleaner_sql as sql from telegram import ParseMode, Update from telegram.ext import ( @@ -46,7 +47,7 @@ def clean_blue_text_must_click(update: Update, context: CallbackContext): bot = context.bot chat = update.effective_chat message = update.effective_message - if chat.get_member(bot.id).can_delete_messages and sql.is_enabled(chat.id): + if get_bot_member(chat.id).can_delete_messages and sql.is_enabled(chat.id): fst_word = message.text.strip().split(None, 1)[0] if len(fst_word) > 1 and any( diff --git a/AstrakoBot/modules/disable.py b/AstrakoBot/modules/disable.py index f7f7f9af85..a94207f467 100644 --- a/AstrakoBot/modules/disable.py +++ b/AstrakoBot/modules/disable.py @@ -22,9 +22,9 @@ from AstrakoBot.modules.helper_funcs.chat_status import ( connection_status, - is_user_admin, user_admin, ) + from AstrakoBot.modules.helper_funcs.admin_status import user_is_admin from AstrakoBot.modules.sql import disable_sql as sql from telegram.ext.dispatcher import run_async @@ -78,7 +78,7 @@ def check_update(self, update): # check if command was disabled is_disabled = command[ 0 - ] in ADMIN_CMDS and is_user_admin(chat, user.id) + ] in ADMIN_CMDS and user_is_admin(chat, user.id) if not is_disabled: return None else: diff --git a/AstrakoBot/modules/feds.py b/AstrakoBot/modules/feds.py index 49deb6ea7f..bbe9aee3b7 100644 --- a/AstrakoBot/modules/feds.py +++ b/AstrakoBot/modules/feds.py @@ -21,7 +21,6 @@ from AstrakoBot.modules.helper_funcs.admin_status import get_bot_member, user_is_admin from AstrakoBot.modules.helper_funcs.alternate import send_message from AstrakoBot.modules.helper_funcs.chat_status import ( - is_user_admin, can_delete, ) from AstrakoBot.modules.helper_funcs.extraction import ( @@ -29,6 +28,7 @@ extract_user, extract_user_fban, ) +from AstrakoBot.modules.helper_funcs.admin_status import user_is_admin from AstrakoBot.modules.helper_funcs.string_handling import markdown_parser from telegram import ( Chat, InlineKeyboardButton, @@ -212,7 +212,7 @@ def fed_chat(update: Update, context: CallbackContext): fed_id = sql.get_fed_id(chat.id) user_id = update.effective_message.from_user.id - if not is_user_admin(update.effective_chat, user_id): + if not user_is_admin(update.effective_chat, user_id): update.effective_message.reply_text( "You must be an admin to execute this command" ) diff --git a/AstrakoBot/modules/fun.py b/AstrakoBot/modules/fun.py index c992db993e..ea6b66235b 100644 --- a/AstrakoBot/modules/fun.py +++ b/AstrakoBot/modules/fun.py @@ -5,7 +5,7 @@ import AstrakoBot.modules.fun_strings as fun_strings from AstrakoBot import dispatcher from AstrakoBot.modules.disable import DisableAbleCommandHandler -from AstrakoBot.modules.helper_funcs.chat_status import is_user_admin +from AstrakoBot.modules.helper_funcs.admin_status import user_is_admin from AstrakoBot.modules.helper_funcs.extraction import extract_user from AstrakoBot.modules.helper_funcs.misc import delete from AstrakoBot.modules.sql.clear_cmd_sql import get_clearcmd @@ -57,7 +57,7 @@ def slap(update: Update, context: CallbackContext): if isinstance(temp, list): if temp[2] == "tmute": - if is_user_admin(chat, message.from_user.id): + if user_is_admin(chat, message.from_user.id): reply_text(temp[1]) return diff --git a/AstrakoBot/modules/global_bans.py b/AstrakoBot/modules/global_bans.py index 64851a4c22..b31ac68116 100644 --- a/AstrakoBot/modules/global_bans.py +++ b/AstrakoBot/modules/global_bans.py @@ -31,7 +31,6 @@ dispatcher, ) from AstrakoBot.modules.helper_funcs.chat_status import ( - is_user_admin, support_plus, user_admin, ) diff --git a/AstrakoBot/modules/helper_funcs/chat_status.py b/AstrakoBot/modules/helper_funcs/chat_status.py index 04fd3103f0..9c114e70c3 100644 --- a/AstrakoBot/modules/helper_funcs/chat_status.py +++ b/AstrakoBot/modules/helper_funcs/chat_status.py @@ -16,6 +16,7 @@ from telegram import Chat, ChatMember, ParseMode, Update from telegram.ext import CallbackContext from telegram.error import Unauthorized +from AstrakoBot.modules.helper_funcs.admin_status import get_bot_member, user_is_admin # stores admemes in memory for 10 min. ADMIN_CACHE = TTLCache(maxsize=512, ttl=60 * 10, timer=perf_counter) @@ -34,48 +35,18 @@ def is_sudo_plus(chat: Chat, user_id: int, member: ChatMember = None) -> bool: return user_id in SUDO_USERS or user_id in DEV_USERS -def is_user_admin(chat: Chat, user_id: int, member: ChatMember = None) -> bool: - if ( - chat.type == "private" - or user_id in SUDO_USERS - or user_id in DEV_USERS - or chat.all_members_are_administrators - or user_id in [1087968824] - ): # Count telegram and Group Anonymous as admin - return True - if not member: - with THREAD_LOCK: - # try to fetch from cache first. - try: - return user_id in ADMIN_CACHE[chat.id] - except KeyError: - # keyerror happend means cache is deleted, - # so query bot api again and return user status - # while saving it in cache for future useage... - try: - chat_admins = dispatcher.bot.getChatAdministrators(chat.id) - except Unauthorized: - return False # bot is not member of the supergroup - admin_list = [x.user.id for x in chat_admins] - ADMIN_CACHE[chat.id] = admin_list - - return user_id in admin_list - else: - return member.status in ("administrator", "creator") - - def is_bot_admin(chat: Chat, bot_id: int, bot_member: ChatMember = None) -> bool: if chat.type == "private" or chat.all_members_are_administrators: return True if not bot_member: - bot_member = chat.get_member(bot_id) + bot_member = get_bot_member(chat.id) return bot_member.status in ("administrator", "creator") def can_delete(chat: Chat, bot_id: int) -> bool: - return chat.get_member(bot_id).can_delete_messages + return get_bot_member(chat.id).can_delete_messages def is_user_ban_protected(chat: Chat, user_id: int, member: ChatMember = None) -> bool: @@ -228,7 +199,7 @@ def is_admin(update: Update, context: CallbackContext, *args, **kwargs): user = update.effective_user chat = update.effective_chat - if user and is_user_admin(chat, user.id): + if user and user_is_admin(chat, user.id): return func(update, context, *args, **kwargs) elif not user: pass @@ -254,7 +225,7 @@ def is_not_admin_no_reply( user = update.effective_user chat = update.effective_chat - if user and is_user_admin(chat, user.id): + if user and user_is_admin(chat, user.id): return func(update, context, *args, **kwargs) elif not user: pass @@ -274,7 +245,7 @@ def is_not_admin(update: Update, context: CallbackContext, *args, **kwargs): user = update.effective_user chat = update.effective_chat - if user and not is_user_admin(chat, user.id): + if user and not user_is_admin(chat, user.id): return func(update, context, *args, **kwargs) elif not user: pass @@ -339,7 +310,7 @@ def pin_rights(update: Update, context: CallbackContext, *args, **kwargs): else: cant_pin = f"I can't pin messages in {update_chat_title}!\nMake sure I'm admin and can pin messages there." - if chat.get_member(bot.id).can_pin_messages: + if get_bot_member(chat.id).can_pin_messages: return func(update, context, *args, **kwargs) else: update.effective_message.reply_text(cant_pin, parse_mode=ParseMode.HTML) @@ -363,7 +334,7 @@ def promote_rights(update: Update, context: CallbackContext, *args, **kwargs): f"Make sure I'm admin there and can appoint new admins." ) - if chat.get_member(bot.id).can_promote_members: + if get_bot_member(chat.id).can_promote_members: return func(update, context, *args, **kwargs) else: update.effective_message.reply_text(cant_promote, parse_mode=ParseMode.HTML) @@ -384,7 +355,7 @@ def restrict_rights(update: Update, context: CallbackContext, *args, **kwargs): else: cant_restrict = f"I can't restrict people in {update_chat_title}!\nMake sure I'm admin there and can restrict users." - if chat.get_member(bot.id).can_restrict_members: + if get_bot_member(chat.id).can_restrict_members: return func(update, context, *args, **kwargs) else: update.effective_message.reply_text( diff --git a/AstrakoBot/modules/locks.py b/AstrakoBot/modules/locks.py index d5d0ffa8ea..2d8c6cfebc 100644 --- a/AstrakoBot/modules/locks.py +++ b/AstrakoBot/modules/locks.py @@ -11,11 +11,11 @@ from alphabet_detector import AlphabetDetector import AstrakoBot.modules.sql.locks_sql as sql +from AstrakoBot.modules.helper_funcs.admin_status import user_is_admin from AstrakoBot import dispatcher, SUDO_USERS, LOGGER from AstrakoBot.modules.disable import DisableAbleCommandHandler from AstrakoBot.modules.helper_funcs.chat_status import ( can_delete, - is_user_admin, user_not_admin, is_bot_admin, user_admin, @@ -102,7 +102,7 @@ def __init__(self, command, callback, **kwargs): def check_update(self, update): if super().check_update(update) and not ( - sql.is_restr_locked(update.effective_chat.id, 'messages') and not is_user_admin(update.effective_chat, + sql.is_restr_locked(update.effective_chat.id, 'messages') and not user_is_admin(update.effective_chat, update.effective_user.id)): args = update.effective_message.text.split()[1:] filter_result = self.filters(update) @@ -292,7 +292,7 @@ def unlock(update: Update, context: CallbackContext) -> str: chat = update.effective_chat user = update.effective_user message = update.effective_message - if is_user_admin(chat, message.from_user.id): + if user_is_admin(chat, message.from_user.id): if len(args) >= 1: ltype = args[0].lower() if ltype in LOCK_TYPES: diff --git a/AstrakoBot/modules/muting.py b/AstrakoBot/modules/muting.py index c5cf5322f0..017044272e 100644 --- a/AstrakoBot/modules/muting.py +++ b/AstrakoBot/modules/muting.py @@ -6,7 +6,6 @@ bot_admin, can_restrict, connection_status, - is_user_admin, user_admin, can_delete, ) @@ -16,7 +15,8 @@ ) from AstrakoBot.modules.helper_funcs.string_handling import extract_time from AstrakoBot.modules.log_channel import loggable -from AstrakoBot.modules.helper_funcs.admin_status import get_bot_member +from AstrakoBot.modules.helper_funcs.admin_status import get_bot_member, user_is_admin + from telegram import Bot, Chat, ChatPermissions, ParseMode, Update from telegram.error import BadRequest from telegram.ext import CallbackContext, CommandHandler, run_async @@ -41,7 +41,7 @@ def check_user(user_id: int, bot: Bot, chat: Chat) -> Optional[str]: reply = "I'm not gonna MUTE myself, How high are you?" return reply - if is_user_admin(chat, user_id, member): + if user_is_admin(chat, user_id): reply = "Can't. Find someone else to mute but not this one." return reply diff --git a/AstrakoBot/modules/remote_cmds.py b/AstrakoBot/modules/remote_cmds.py index 66fa2b7c89..0c805532b4 100644 --- a/AstrakoBot/modules/remote_cmds.py +++ b/AstrakoBot/modules/remote_cmds.py @@ -7,6 +7,7 @@ ) from AstrakoBot.modules.helper_funcs.extraction import extract_user_and_text from AstrakoBot.modules.helper_funcs.filters import CustomFilters +from AstrakoBot.modules.helper_funcs.admin_status import get_bot_member from telegram import Update, ChatPermissions from telegram.error import BadRequest from telegram.ext import CallbackContext, CommandHandler, run_async @@ -119,7 +120,7 @@ def rban(update: Update, context: CallbackContext): if ( not is_bot_admin(chat, bot.id) - or not chat.get_member(bot.id).can_restrict_members + or not get_bot_member(chat.id).can_restrict_members ): message.reply_text( "I can't restrict people there! Make sure I'm admin and can ban users." @@ -201,7 +202,7 @@ def runban(update: Update, context: CallbackContext): if ( not is_bot_admin(chat, bot.id) - or not chat.get_member(bot.id).can_restrict_members + or not get_bot_member(chat.id).can_restrict_members ): message.reply_text( "I can't unrestrict people there! Make sure I'm admin and can unban users." @@ -285,7 +286,7 @@ def rkick(update: Update, context: CallbackContext): if ( not is_bot_admin(chat, bot.id) - or not chat.get_member(bot.id).can_restrict_members + or not get_bot_member(chat.id).can_restrict_members ): message.reply_text( "I can't restrict people there! Make sure I'm admin and can punch users." @@ -367,7 +368,7 @@ def rmute(update: Update, context: CallbackContext): if ( not is_bot_admin(chat, bot.id) - or not chat.get_member(bot.id).can_restrict_members + or not get_bot_member(chat.id).can_restrict_members ): message.reply_text( "I can't restrict people there! Make sure I'm admin and can mute users." @@ -451,7 +452,7 @@ def runmute(update: Update, context: CallbackContext): if ( not is_bot_admin(chat, bot.id) - or not chat.get_member(bot.id).can_restrict_members + or not get_bot_member(chat.id).can_restrict_members ): message.reply_text( "I can't unrestrict people there! Make sure I'm admin and can unban users." diff --git a/AstrakoBot/modules/warns.py b/AstrakoBot/modules/warns.py index 8811c48880..b612a3d2e8 100644 --- a/AstrakoBot/modules/warns.py +++ b/AstrakoBot/modules/warns.py @@ -8,7 +8,6 @@ from AstrakoBot.modules.helper_funcs.chat_status import ( bot_admin, can_restrict, - is_user_admin, user_admin, user_admin_no_reply, can_delete, @@ -23,6 +22,7 @@ from AstrakoBot.modules.helper_funcs.string_handling import split_quotes from AstrakoBot.modules.log_channel import loggable from AstrakoBot.modules.sql import warns_sql as sql +from AstrakoBot.modules.helper_funcs.admin_status import user_is_admin from telegram import ( CallbackQuery, Chat, @@ -54,7 +54,7 @@ def warn( user: User, chat: Chat, reason: str, message: Message, warner: User = None ) -> str: - if is_user_admin(chat, user.id): + if user_is_admin(chat, user.id): # message.reply_text("Damn admins, They are too far to be One Punched!") return From 304b58ba492fc696eabe3aabd587d603781a1675 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Thu, 20 Mar 2025 16:44:11 +0000 Subject: [PATCH 103/153] backups: Handle non-json files --- AstrakoBot/modules/backups.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/AstrakoBot/modules/backups.py b/AstrakoBot/modules/backups.py index 2dce1f7b33..9e08430858 100644 --- a/AstrakoBot/modules/backups.py +++ b/AstrakoBot/modules/backups.py @@ -60,9 +60,10 @@ def import_data(update: Update, context: CallbackContext): try: data = json.load(file) except json.decoder.JSONDecodeError: - msg.reply_text( - "Backup seems to be invalid or corrupted!" - ) + msg.reply_text("Backup seems to be invalid or corrupted!") + return + except UnicodeDecodeError: + msg.reply_text("This is not a backup file!") return # only import one group @@ -121,6 +122,8 @@ def import_data(update: Update, context: CallbackContext): else: text = "Backup fully restored" msg.reply_text(text, parse_mode="markdown") + else: + msg.reply_text("Reply to a valid backup file!") @user_admin From 84d90eb4041d3cfd95e056df2f9c695a46071aab Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Thu, 20 Mar 2025 23:09:41 +0000 Subject: [PATCH 104/153] fun: Remove duplicated shout cmd --- AstrakoBot/modules/fun.py | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/AstrakoBot/modules/fun.py b/AstrakoBot/modules/fun.py index ea6b66235b..c953cc063a 100644 --- a/AstrakoBot/modules/fun.py +++ b/AstrakoBot/modules/fun.py @@ -140,20 +140,6 @@ def roll(update: Update, context: CallbackContext): deletion(update, context, update.message.reply_text(random.choice(range(1, 7)))) -def shout(update: Update, context: CallbackContext): - args = context.args - text = " ".join(args) - result = [] - result.append(" ".join(list(text))) - for pos, symbol in enumerate(text[1:]): - result.append(symbol + " " + " " * pos + symbol) - result = list("\n".join(result)) - result[0] = text[0] - result = "".join(result) - msg = "```\n" + result + "```" - deletion(update, context, update.effective_message.reply_text(msg, parse_mode="MARKDOWN")) - - def toss(update: Update, context: CallbackContext): deletion(update, context, update.message.reply_text(random.choice(fun_strings.TOSS))) @@ -254,9 +240,7 @@ def deletion(update: Update, context: CallbackContext, delmsg): DECIDE_HANDLER = DisableAbleCommandHandler("decide", decide, run_async=True) EIGHTBALL_HANDLER = DisableAbleCommandHandler("8ball", eightball, run_async=True) TABLE_HANDLER = DisableAbleCommandHandler("table", table, run_async=True) -SHOUT_HANDLER = DisableAbleCommandHandler("shout", shout, run_async=True) -dispatcher.add_handler(SHOUT_HANDLER) dispatcher.add_handler(SANITIZE_HANDLER) dispatcher.add_handler(RUNS_HANDLER) dispatcher.add_handler(SLAP_HANDLER) @@ -283,7 +267,6 @@ def deletion(update: Update, context: CallbackContext, delmsg): "table", "pat", "sanitize", - "shout", "8ball", ] __handlers__ = [ @@ -298,6 +281,5 @@ def deletion(update: Update, context: CallbackContext, delmsg): DECIDE_HANDLER, TABLE_HANDLER, SANITIZE_HANDLER, - SHOUT_HANDLER, EIGHTBALL_HANDLER, ] From a81791511be92369a631d9053f7dbab8f732f896 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Thu, 20 Mar 2025 23:13:13 +0000 Subject: [PATCH 105/153] shout: Check for input text --- AstrakoBot/modules/shout.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/AstrakoBot/modules/shout.py b/AstrakoBot/modules/shout.py index 7aec7fe8bb..00d41801b8 100644 --- a/AstrakoBot/modules/shout.py +++ b/AstrakoBot/modules/shout.py @@ -6,7 +6,18 @@ def shout(update: Update, context: CallbackContext): args = context.args - text = " ".join(args) + message = update.effective_message + + text = "" + if args: + text = " ".join(args) + elif message.reply_to_message: + text = message.reply_to_message.caption or message.reply_to_message.text or "" + + if not text: + message.reply_text("What should i shout?") + return + result = [] result.append(" ".join([s for s in text])) for pos, symbol in enumerate(text[1:]): @@ -15,7 +26,7 @@ def shout(update: Update, context: CallbackContext): result[0] = text[0] result = "".join(result) msg = "```\n" + result + "```" - return update.effective_message.reply_text(msg, parse_mode="MARKDOWN") + return message.reply_text(msg, parse_mode="MARKDOWN") SHOUT_HANDLER = DisableAbleCommandHandler("shout", shout, run_async=True) From 9f550c75e442a0f85172f990430f68daf1a02a74 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Thu, 20 Mar 2025 23:39:57 +0000 Subject: [PATCH 106/153] modules: Empty strings are considered falsy --- AstrakoBot/modules/admin.py | 4 ++-- AstrakoBot/modules/cleaner.py | 2 +- AstrakoBot/modules/feds.py | 16 ++++++++-------- AstrakoBot/modules/gtranslator.py | 4 ++-- AstrakoBot/modules/reverse.py | 2 +- AstrakoBot/modules/sql/feds_sql.py | 2 +- AstrakoBot/modules/super_users.py | 8 ++++---- AstrakoBot/modules/youtube.py | 4 ++-- 8 files changed, 21 insertions(+), 21 deletions(-) diff --git a/AstrakoBot/modules/admin.py b/AstrakoBot/modules/admin.py index 4b568b4147..56269ae46f 100644 --- a/AstrakoBot/modules/admin.py +++ b/AstrakoBot/modules/admin.py @@ -404,7 +404,7 @@ def adminlist(update: Update, context: CallbackContext): status = admin.status custom_title = admin.custom_title - if user.first_name == "": + if not user.first_name: name = "☠ Deleted Account" else: name = "{}".format( @@ -430,7 +430,7 @@ def adminlist(update: Update, context: CallbackContext): status = admin.status custom_title = admin.custom_title - if user.first_name == "": + if not user.first_name: name = "☠ Deleted Account" else: name = "{}".format( diff --git a/AstrakoBot/modules/cleaner.py b/AstrakoBot/modules/cleaner.py index 563e804f78..d0af505dac 100644 --- a/AstrakoBot/modules/cleaner.py +++ b/AstrakoBot/modules/cleaner.py @@ -205,7 +205,7 @@ def bluetext_ignore_list(update: Update, context: CallbackContext): for x in local_ignore_list: text += f" - {x}\n" - if text == "": + if not text: text = "No commands are currently ignored from bluetext cleaning." message.reply_text(text) return diff --git a/AstrakoBot/modules/feds.py b/AstrakoBot/modules/feds.py index bbe9aee3b7..e25b2d79b1 100644 --- a/AstrakoBot/modules/feds.py +++ b/AstrakoBot/modules/feds.py @@ -100,7 +100,7 @@ def new_fed(update: Update, context: CallbackContext): ) return fednam = message.text.split(None, 1)[1] - if not fednam == "": + if fednam: fed_id = str(uuid.uuid4()) fed_name = fednam LOGGER.info(fed_id) @@ -648,7 +648,7 @@ def fed_ban(update: Update, context: CallbackContext): # starting = "The reason fban is replaced for {} in the Federation {}.".format(user_target, fed_name) # send_message(update.effective_message, starting, parse_mode=ParseMode.HTML) - # if reason == "": + # if not reason: # reason = "No reason given." temp = sql.un_fban_user(fed_id, fban_user_id) @@ -866,7 +866,7 @@ def fed_ban(update: Update, context: CallbackContext): # user_target, fed_name) # update.effective_message.reply_text(starting, parse_mode=ParseMode.HTML) - # if reason == "": + # if not reason: # reason = "No reason given." x = sql.fban_user( @@ -1790,7 +1790,7 @@ def fed_import_bans(update: Update, context: CallbackContext): reading = file.read().decode("UTF-8") splitting = reading.split("\n") for x in splitting: - if x == "": + if not x: continue try: data = json.loads(x) @@ -1986,7 +1986,7 @@ def fed_stat_user(update: Update, context: CallbackContext): parse_mode="markdown", ) return - if user_name == "" or user_name is None: + if not user_name: user_name = "He/she" if not reason: send_message( @@ -2000,12 +2000,12 @@ def fed_stat_user(update: Update, context: CallbackContext): send_message(update.effective_message, teks, parse_mode="markdown") return user_name, fbanlist = sql.get_user_fbanlist(str(user_id)) - if user_name == "": + if not user_name: try: user_name = bot.get_chat(user_id).first_name except BadRequest: user_name = "He/she" - if user_name == "" or user_name is None: + if not user_name: user_name = "He/she" if len(fbanlist) == 0: send_message( @@ -2023,7 +2023,7 @@ def fed_stat_user(update: Update, context: CallbackContext): elif not msg.reply_to_message and not args: user_id = msg.from_user.id user_name, fbanlist = sql.get_user_fbanlist(user_id) - if user_name == "": + if not user_name: user_name = msg.from_user.first_name if len(fbanlist) == 0: send_message( diff --git a/AstrakoBot/modules/gtranslator.py b/AstrakoBot/modules/gtranslator.py index de8b988241..5e7390dca0 100644 --- a/AstrakoBot/modules/gtranslator.py +++ b/AstrakoBot/modules/gtranslator.py @@ -154,7 +154,7 @@ def totranslate(update: Update, context: CallbackContext): elif reply.text: text = reply.text - if text == "": + if not text: delmsg = message.reply_text( "Reply to messages from other languages for translating into the intended language\n\n" "Example: `/tr en-ml` to translate from English to Malayalam\n" @@ -210,7 +210,7 @@ def totranslate(update: Update, context: CallbackContext): reply_msg = message.reply_text("Translating to {}...".format(languages[targetLang])) translated = tr(text, srcLang, targetLang) - if translated == "": + if not translated: reply_msg.edit_text("Failed to translate to {}. Try again in a few seconds or try another target language!".format(languages[targetLang])) return reply_msg.edit_text("Translated to {}:\n\n".format(languages[targetLang]) + translated) diff --git a/AstrakoBot/modules/reverse.py b/AstrakoBot/modules/reverse.py index 6dcb9cd7ed..db536c2073 100644 --- a/AstrakoBot/modules/reverse.py +++ b/AstrakoBot/modules/reverse.py @@ -114,7 +114,7 @@ def reverse(update: Update, context: CallbackContext): os.remove(imagename) match = ParseSauce(fetchUrl + "&hl=en") guess = match["best_guess"] - if match["override"] and not match["override"] == "": + if match["override"]: imgspage = match["override"] else: imgspage = match["similar_images"] diff --git a/AstrakoBot/modules/sql/feds_sql.py b/AstrakoBot/modules/sql/feds_sql.py index b509515592..c1aa07662a 100644 --- a/AstrakoBot/modules/sql/feds_sql.py +++ b/AstrakoBot/modules/sql/feds_sql.py @@ -184,7 +184,7 @@ def get_user_fbanlist(user_id): fedname = [] for x in banlist: if banlist[x].get(user_id): - if user_name == "": + if not user_name: user_name = banlist[x][user_id].get("first_name") fedname.append([x, banlist[x][user_id].get("reason")]) return user_name, fedname diff --git a/AstrakoBot/modules/super_users.py b/AstrakoBot/modules/super_users.py index 1745e51eaa..723a3d7ce4 100644 --- a/AstrakoBot/modules/super_users.py +++ b/AstrakoBot/modules/super_users.py @@ -407,7 +407,7 @@ def whitelistlist(update: Update, context: CallbackContext): user_id = int(each_user) try: user = bot.get_chat(user_id) - if user.first_name == "": + if not user.first_name: continue msg += f"• {mention_html(user_id, html.escape(user.first_name))}\n" except TelegramError: @@ -424,7 +424,7 @@ def supportlist(update: Update, context: CallbackContext): user_id = int(each_user) try: user = bot.get_chat(user_id) - if user.first_name == "": + if not user.first_name: continue msg += f"• {mention_html(user_id, html.escape(user.first_name))}\n" except TelegramError: @@ -442,7 +442,7 @@ def sudolist(update: Update, context: CallbackContext): user_id = int(each_user) try: user = bot.get_chat(user_id) - if user.first_name == "": + if not user.first_name: continue msg += f"• {mention_html(user_id, html.escape(user.first_name))}\n" except TelegramError: @@ -460,7 +460,7 @@ def devlist(update: Update, context: CallbackContext): user_id = int(each_user) try: user = bot.get_chat(user_id) - if user.first_name == "": + if not user.first_name: continue msg += f"• {mention_html(user_id, html.escape(user.first_name))}\n" except TelegramError: diff --git a/AstrakoBot/modules/youtube.py b/AstrakoBot/modules/youtube.py index bdf64ddf4a..fc5b084bdb 100644 --- a/AstrakoBot/modules/youtube.py +++ b/AstrakoBot/modules/youtube.py @@ -123,7 +123,7 @@ def youtube(update: Update, context: CallbackContext): msg = message.reply_text("Downloading as video, Please wait...") ret = dyt_video(yt, res, filename) caption = "Type: mp4\nQuality: {}".format(res) - if ret == "": + if not ret: msg.edit_text("Uploading...") with open(filename, "rb") as video: context.bot.send_video(chat_id=chat_id, video=video, caption=caption, reply_to_message_id=message_id) @@ -136,7 +136,7 @@ def youtube(update: Update, context: CallbackContext): msg = message.reply_text("Downloading as mp3 audio, Please wait...") ret = dyt_audio(yt, filename) caption = "Type: mp3\nQuality: 128kbps".format(res) - if ret == "": + if not ret: msg.edit_text("Uploading...") with open(filename, "rb") as audio: context.bot.send_audio(chat_id=chat_id, audio=audio, caption=caption.format(type), reply_to_message_id=message_id) From 632826f07517e9553bc4039b25bc57dc98c27b72 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Thu, 20 Mar 2025 23:42:02 +0000 Subject: [PATCH 107/153] newfed: Properly check for fed name --- AstrakoBot/modules/feds.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/feds.py b/AstrakoBot/modules/feds.py index e25b2d79b1..194734f77d 100644 --- a/AstrakoBot/modules/feds.py +++ b/AstrakoBot/modules/feds.py @@ -94,7 +94,7 @@ def new_fed(update: Update, context: CallbackContext): "Federations can only be created by privately messaging me." ) return - if len(message.text) == 1: + if not context.args: send_message( update.effective_message, "Please write the name of the federation!" ) From 831238c20392baf23bd709a197053375f41c0fef Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Fri, 21 Mar 2025 00:13:47 +0000 Subject: [PATCH 108/153] plet: Misc error fixes --- AstrakoBot/modules/plet.py | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/AstrakoBot/modules/plet.py b/AstrakoBot/modules/plet.py index e8becb3355..2a669a6f28 100644 --- a/AstrakoBot/modules/plet.py +++ b/AstrakoBot/modules/plet.py @@ -24,10 +24,16 @@ def plet(update: Update, context: CallbackContext): chat = update.effective_chat message = update.effective_message - if not message.reply_to_message: + + msg = "" + if context.args: msg = message.text.split(None, 1)[1] - else: - msg = message.reply_to_message.text + elif message.reply_to_message: + msg = message.reply_to_message.caption or message.reply_to_message.text or "" + + if not msg: + message.reply_text("What should i plet?") + return # the processed photo becomes too long and unreadable + the telegram doesn't support any longer dimensions + you have the lulz. if (len(msg)) > 39: @@ -62,12 +68,17 @@ def plet(update: Update, context: CallbackContext): maxsize = 1024, 896 if image.size[0] > maxsize[0]: - image.thumbnail(maxsize, Image.ANTIALIAS) + attr = Image.ANTIALIAS if hasattr(Image, 'ANTIALIAS') else Image.Resampling.LANCZOS + image.thumbnail(maxsize, attr) # put processed image in a buffer and then upload cause async with BytesIO() as buffer: buffer.name = "image.png" - image.save(buffer, "PNG") + try: + image.save(buffer, "PNG") + except SystemError: + message.reply_text("Invalid characters detected. Try again with something readable.") + return buffer.seek(0) delmsg = context.bot.send_sticker(chat_id=message.chat_id, sticker=buffer) From 2f326bf40663ee45992043181889a4c598ab5e25 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Fri, 21 Mar 2025 11:40:22 +0000 Subject: [PATCH 109/153] super_users: Print deleted accounts as zombies --- AstrakoBot/modules/super_users.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/AstrakoBot/modules/super_users.py b/AstrakoBot/modules/super_users.py index 723a3d7ce4..25482f2fbf 100644 --- a/AstrakoBot/modules/super_users.py +++ b/AstrakoBot/modules/super_users.py @@ -403,15 +403,21 @@ def whitelistlist(update: Update, context: CallbackContext): bot = context.bot message = update.effective_message msg = "Whitelist users:\n" + zombies = [] for each_user in WHITELIST_USERS: user_id = int(each_user) try: user = bot.get_chat(user_id) if not user.first_name: + zombies.append(user_id) continue msg += f"• {mention_html(user_id, html.escape(user.first_name))}\n" except TelegramError: pass + if zombies: + msg += "\nZombies:\n" + for user_id in zombies: + msg += f"• {mention_html(user_id, html.escape(str(user_id)))}\n" message.reply_text(msg, parse_mode=ParseMode.HTML) @@ -420,15 +426,21 @@ def supportlist(update: Update, context: CallbackContext): bot = context.bot message = update.effective_message msg = "Support users:\n" + zombies = [] for each_user in SUPPORT_USERS: user_id = int(each_user) try: user = bot.get_chat(user_id) if not user.first_name: + zombies.append(user_id) continue msg += f"• {mention_html(user_id, html.escape(user.first_name))}\n" except TelegramError: pass + if zombies: + msg += "\nZombies:\n" + for user_id in zombies: + msg += f"• {mention_html(user_id, html.escape(str(user_id)))}\n" message.reply_text(msg, parse_mode=ParseMode.HTML) @@ -438,15 +450,21 @@ def sudolist(update: Update, context: CallbackContext): message = update.effective_message true_sudo = list(set(SUDO_USERS) - set(DEV_USERS)) msg = "Sudo users:\n" + zombies = [] for each_user in true_sudo: user_id = int(each_user) try: user = bot.get_chat(user_id) if not user.first_name: + zombies.append(user_id) continue msg += f"• {mention_html(user_id, html.escape(user.first_name))}\n" except TelegramError: pass + if zombies: + msg += "\nZombies:\n" + for user_id in zombies: + msg += f"• {mention_html(user_id, html.escape(str(user_id)))}\n" message.reply_text(msg, parse_mode=ParseMode.HTML) @@ -456,15 +474,21 @@ def devlist(update: Update, context: CallbackContext): message = update.effective_message true_dev = list(set(DEV_USERS) - {OWNER_ID}) msg = "Developer users:\n" + zombies = [] for each_user in true_dev: user_id = int(each_user) try: user = bot.get_chat(user_id) if not user.first_name: + zombies.append(user_id) continue msg += f"• {mention_html(user_id, html.escape(user.first_name))}\n" except TelegramError: pass + if zombies: + msg += "\nZombies:\n" + for user_id in zombies: + msg += f"• {mention_html(user_id, html.escape(str(user_id)))}\n" message.reply_text(msg, parse_mode=ParseMode.HTML) From 92faa817fc4d190503334c086af6653698e4a84b Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Fri, 21 Mar 2025 21:52:21 +0000 Subject: [PATCH 110/153] clear_cmd: Parse time --- AstrakoBot/modules/clear_cmd.py | 19 +++++++++++-------- .../modules/helper_funcs/string_handling.py | 15 ++++++++++++++- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/AstrakoBot/modules/clear_cmd.py b/AstrakoBot/modules/clear_cmd.py index 75644a6729..63be30c39a 100644 --- a/AstrakoBot/modules/clear_cmd.py +++ b/AstrakoBot/modules/clear_cmd.py @@ -4,7 +4,7 @@ import AstrakoBot.modules.sql.clear_cmd_sql as sql from AstrakoBot import dispatcher from AstrakoBot.modules.helper_funcs.chat_status import user_admin, connection_status - +from AstrakoBot.modules.helper_funcs.string_handling import parse_to_seconds @user_admin @connection_status @@ -28,7 +28,7 @@ def clearcmd(update: Update, context: CallbackContext): "lyrics", "magisk", "miui", - "notes", + "notes", "orangefox", "phh", "ping", @@ -53,7 +53,7 @@ def clearcmd(update: Update, context: CallbackContext): if commands: msg += "*Command - Time*\n" for cmd in commands: - msg += f"`{cmd.cmd} - {cmd.time} secs`\n" + msg += f"`{cmd.cmd} - {cmd.time} secs`\n" else: msg = f"No deletion time has been set for any command in *{chat.title}*" @@ -83,14 +83,17 @@ def clearcmd(update: Update, context: CallbackContext): if time == "restore": sql.del_clearcmd(chat.id, cmd) msg = f"Removed `{cmd}` from list" - elif (5 <= int(time) <= 300): - sql.set_clearcmd(chat.id, cmd, time) - msg = f"`{cmd}` output will be deleted after *{time}* seconds in *{chat.title}*" else: - msg = "Time must be between 5 and 300 seconds" + time = parse_to_seconds(time) + if not time: + msg = "Time must be in seconds or minutes" + elif (5 <= time <= 300): + sql.set_clearcmd(chat.id, cmd, time) + msg = f"`{cmd}` output will be deleted after *{time}* seconds in *{chat.title}*" + else: + msg = "Time must be between 5 and 300 seconds" else: msg = "Specify a valid command. Use `/clearcmd list` to see available commands" - else: msg = "I don't understand what are you trying to do. Check module help for more details" diff --git a/AstrakoBot/modules/helper_funcs/string_handling.py b/AstrakoBot/modules/helper_funcs/string_handling.py index 0325e1339e..2c6aa14b10 100644 --- a/AstrakoBot/modules/helper_funcs/string_handling.py +++ b/AstrakoBot/modules/helper_funcs/string_handling.py @@ -272,13 +272,26 @@ def extract_time(message, time_val): return bantime else: message.reply_text( - "Invalid time type specified. Expected m,h, or d, got: {}".format( + "Invalid time type specified. Expected m, h, or d, got: {}".format( time_val[-1] ) ) return "" +def parse_to_seconds(time_str): + if time_str.isdigit(): + return int(time_str) or None + + match = re.match(r"\s*([\d.]+)\s*([a-z]*)\s*", time_str, re.IGNORECASE) + if len(time_str) > 50 or not match: + return None + + value, unit = float(match[1]), match[2].lower() + multipliers = {'d': 86400, 'h': 3600, 'm': 60, 's': 1} + return int(value * multipliers.get(unit[:1], 0)) or None + + def markdown_to_html(text): text = text.replace("*", "**") text = text.replace("`", "```") From f7ab64cca6022e1ba273929289fb91087c6e683f Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Fri, 21 Mar 2025 22:35:03 +0000 Subject: [PATCH 111/153] logs: Don't crash when log is too big --- AstrakoBot/modules/debug.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/AstrakoBot/modules/debug.py b/AstrakoBot/modules/debug.py index 7b56b33d7e..82d8806e8c 100644 --- a/AstrakoBot/modules/debug.py +++ b/AstrakoBot/modules/debug.py @@ -54,6 +54,10 @@ async def i_do_nothing_yes(event): @dev_plus def logs(update: Update, context: CallbackContext): user = update.effective_user + if os.path.getsize('log.txt') > (45 * 1024 * 1024): + update.effective_message.reply_text("Log file is too big to be sent!") + return + with open("log.txt", "rb") as f: context.bot.send_document(document=f, filename=f.name, chat_id=user.id) From 66f369923a7c6b6edc2da40f66b8ff9f1a1bdf9d Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sat, 22 Mar 2025 22:31:25 +0000 Subject: [PATCH 112/153] github: phh -> TrebleDroid --- AstrakoBot/modules/github.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/github.py b/AstrakoBot/modules/github.py index 042efe7fd3..d5b9d4f354 100755 --- a/AstrakoBot/modules/github.py +++ b/AstrakoBot/modules/github.py @@ -33,7 +33,7 @@ def getphh(index): - recentRelease = api.getReleaseData(api.getData("phhusson/treble_experimentations"), index) + recentRelease = api.getReleaseData(api.getData("TrebleDroid/treble_experimentations"), index) if recentRelease is None: return "The specified release could not be found" author = api.getAuthor(recentRelease) From b0adb17ed5698287f7ce2d1da21d9a85b3399262 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sat, 22 Mar 2025 22:34:07 +0000 Subject: [PATCH 113/153] orangefox: Fix mirror --- AstrakoBot/modules/android.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/android.py b/AstrakoBot/modules/android.py index df5e9e0578..e57f2865a1 100644 --- a/AstrakoBot/modules/android.py +++ b/AstrakoBot/modules/android.py @@ -288,7 +288,7 @@ def orangefox(update: Update, context: CallbackContext): version = page["version"] changelog = page["changelog"][0] size = str(round(float(page["size"]) / 1024 / 1024, 1)) + "MB" - dl_link = page["mirrors"]["US"] + dl_link = page["mirrors"]["DL"] date = datetime.fromtimestamp(page["date"]) md5 = page["md5"] msg = f"*Latest OrangeFox Recovery for the {full_name}*\n\n" From f9c4c37a56a4ed859ee1157af1bd972dc0d93560 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sat, 22 Mar 2025 22:43:54 +0000 Subject: [PATCH 114/153] orangefox: Fix crash if device isn't supported --- AstrakoBot/modules/android.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/AstrakoBot/modules/android.py b/AstrakoBot/modules/android.py index e57f2865a1..e5347478a7 100644 --- a/AstrakoBot/modules/android.py +++ b/AstrakoBot/modules/android.py @@ -270,13 +270,13 @@ def orangefox(update: Update, context: CallbackContext): if device: link = get(f"https://api.orangefox.download/v3/releases/?codename={device}&sort=date_desc&limit=1") - if link.status_code == 404: + page = loads(link.content) + file_id = page["data"][0]["_id"] if "data" in page else "" + link = get(f"https://api.orangefox.download/v3/devices/get?codename={device}") + page = loads(link.content) + if "detail" in page and page["detail"] == "Not Found": msg = f"OrangeFox recovery is not avaliable for {device}" else: - page = loads(link.content) - file_id = page["data"][0]["_id"] - link = get(f"https://api.orangefox.download/v3/devices/get?codename={device}") - page = loads(link.content) oem = page["oem_name"] model = page["model_name"] full_name = page["full_name"] From 7f3fb97ddaccd69a773576d2b694b4294c707cf5 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 23 Mar 2025 00:30:29 +0000 Subject: [PATCH 115/153] tts: Return detailed error --- AstrakoBot/modules/tts.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/AstrakoBot/modules/tts.py b/AstrakoBot/modules/tts.py index c0cdee3d13..3e086070d8 100644 --- a/AstrakoBot/modules/tts.py +++ b/AstrakoBot/modules/tts.py @@ -40,7 +40,7 @@ def tts(update: Update, context: CallbackContext): try: message.chat.send_action(ChatAction.RECORD_AUDIO) - tts = gTTS(text=text, lang='en', tld='com', timeout=60) + tts = gTTS(text=text, lang='en', tld='com') tts.save(filename) with open(filename, 'rb') as audio_file: @@ -59,8 +59,8 @@ def tts(update: Update, context: CallbackContext): if cleartime: context.dispatcher.run_async(delete, delmsg, cleartime.time) - except: - message.reply_text("Failed to connect to the TTS service. Please try again later.") + except Exception as e: + message.reply_text(f"Failed to connect to the TTS service: {e}") TTS_HANDLER = DisableAbleCommandHandler("tts", tts, run_async=True) From d343ec053caceb36fe112b5d40e8f14395ae2dfb Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 23 Mar 2025 11:52:33 +0000 Subject: [PATCH 116/153] wiki: Correct variable name --- AstrakoBot/modules/wiki.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/wiki.py b/AstrakoBot/modules/wiki.py index bce0262180..d4b7b31726 100644 --- a/AstrakoBot/modules/wiki.py +++ b/AstrakoBot/modules/wiki.py @@ -28,7 +28,7 @@ def wiki(update: Update, context: CallbackContext): msg += f"Read more: https://en.wikipedia.org/wiki/{definition}" if len(msg) > 4000: with open("result.txt", "w") as f: - f.write(f"{result}\n\nUwU OwO OmO UmU") + f.write(f"{res}\n\nUwU OwO OmO UmU") with open("result.txt", "rb") as f: delmsg = context.bot.send_document( document=f, From c7984c764827ef4cf6a99f4de4adff9e9986b561 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 23 Mar 2025 11:54:44 +0000 Subject: [PATCH 117/153] tts: Fix file removal --- AstrakoBot/modules/tts.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/AstrakoBot/modules/tts.py b/AstrakoBot/modules/tts.py index 3e086070d8..e590fcf6d8 100644 --- a/AstrakoBot/modules/tts.py +++ b/AstrakoBot/modules/tts.py @@ -49,11 +49,6 @@ def tts(update: Update, context: CallbackContext): quote=False ) - try: - os.remove(filename) - except: - pass - cleartime = get_clearcmd(chat.id, "tts") if cleartime: @@ -62,6 +57,10 @@ def tts(update: Update, context: CallbackContext): except Exception as e: message.reply_text(f"Failed to connect to the TTS service: {e}") + try: + os.remove(filename) + except: + pass TTS_HANDLER = DisableAbleCommandHandler("tts", tts, run_async=True) dispatcher.add_handler(TTS_HANDLER) From 794466d8e842c0d98b1d99a72d1206ef6fe6ad8a Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 23 Mar 2025 19:47:35 +0000 Subject: [PATCH 118/153] Remove useless logs --- AstrakoBot/__init__.py | 1 + AstrakoBot/__main__.py | 35 +--------------------- AstrakoBot/modules/sql/cust_filters_sql.py | 2 +- AstrakoBot/modules/sql/feds_sql.py | 14 ++++----- 4 files changed, 10 insertions(+), 42 deletions(-) diff --git a/AstrakoBot/__init__.py b/AstrakoBot/__init__.py index 19aebddc36..e45729f847 100644 --- a/AstrakoBot/__init__.py +++ b/AstrakoBot/__init__.py @@ -17,6 +17,7 @@ ) LOGGER = logging.getLogger(__name__) +logging.getLogger("telethon.client.updates").setLevel(logging.WARNING) # if version < 3.6, stop bot. if sys.version_info[0] < 3 or sys.version_info[1] < 6: diff --git a/AstrakoBot/__main__.py b/AstrakoBot/__main__.py index 1455faa239..421fb889a3 100644 --- a/AstrakoBot/__main__.py +++ b/AstrakoBot/__main__.py @@ -170,13 +170,6 @@ def send_help(chat_id, text, keyboard=None): ) -def test(update: Update, context: CallbackContext): - # pprint(eval(str(update))) - # update.effective_message.reply_text("Hola tester! _I_ *have* `markdown`", parse_mode=ParseMode.MARKDOWN) - update.effective_message.reply_text("This person edited a message") - print(update.effective_message) - - def start(update: Update, context: CallbackContext): args = context.args uptime = get_readable_time((time.time() - StartTime)) @@ -272,31 +265,9 @@ def error_callback(update: Update, context: CallbackContext): error = context.error try: raise error - except Unauthorized: - print("no nono1") - print(error) - # remove update.message.chat_id from conversation list - except BadRequest: - print("no nono2") - print("BadRequest caught") + except: print(error) - # handle malformed requests - read more below! - except TimedOut: - print("no nono3") - # handle slow connection problems - except NetworkError: - print("no nono4") - # handle other connection problems - except ChatMigrated as err: - print("no nono5") - print(err) - # the chat_id of a group has changed, use e.new_chat_id instead - except TelegramError: - print(error) - # handle all other telegram related errors - - def help_button(update: Update, context: CallbackContext): query = update.callback_query mod_match = re.match(r"help_module\((.+?)\)", query.data) @@ -304,8 +275,6 @@ def help_button(update: Update, context: CallbackContext): next_match = re.match(r"help_next\((.+?)\)", query.data) back_match = re.match(r"help_back", query.data) - print(query.message.chat.id) - try: if mod_match: module = mod_match.group(1) @@ -629,7 +598,6 @@ def migrate_chats(update: Update, context: CallbackContext): def main(): - test_handler = CommandHandler("test", test, run_async=True) start_handler = CommandHandler("start", start, run_async=True) help_handler = CommandHandler("help", get_help, run_async=True) @@ -641,7 +609,6 @@ def main(): donate_handler = CommandHandler("donate", donate, run_async=True) migrate_handler = MessageHandler(Filters.status_update.migrate, migrate_chats) - # dispatcher.add_handler(test_handler) dispatcher.add_handler(start_handler) dispatcher.add_handler(help_handler) dispatcher.add_handler(settings_handler) diff --git a/AstrakoBot/modules/sql/cust_filters_sql.py b/AstrakoBot/modules/sql/cust_filters_sql.py index e42849ff71..63f346f88c 100644 --- a/AstrakoBot/modules/sql/cust_filters_sql.py +++ b/AstrakoBot/modules/sql/cust_filters_sql.py @@ -357,7 +357,7 @@ def __migrate_filters(): else: file_type = Types.TEXT - print(str(x.chat_id), x.keyword, x.reply, file_type.value) + #print(str(x.chat_id), x.keyword, x.reply, file_type.value) if file_type == Types.TEXT: filt = CustomFilters( str(x.chat_id), x.keyword, x.reply, file_type.value, None diff --git a/AstrakoBot/modules/sql/feds_sql.py b/AstrakoBot/modules/sql/feds_sql.py index c1aa07662a..798c76c8fc 100644 --- a/AstrakoBot/modules/sql/feds_sql.py +++ b/AstrakoBot/modules/sql/feds_sql.py @@ -557,11 +557,11 @@ def multi_fban_user( SESSION.add(r) counter += 1 - if str(str(counter)[-2:]) == "00": - print(user_id) - print(first_name) - print(reason) - print(counter) + #if str(str(counter)[-2:]) == "00": + #print(user_id) + #print(first_name) + #print(reason) + #print(counter) try: SESSION.commit() except: @@ -570,7 +570,7 @@ def multi_fban_user( finally: SESSION.commit() __load_all_feds_banned() - print("Done") + #print("Done") return counter @@ -717,7 +717,7 @@ def set_fed_log(fed_id, chat_id): ) SESSION.merge(fed) SESSION.commit() - print(fed_log) + #print(fed_log) return True From b117174de8c0a03ca2335f19b3765f4bf72b5185 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 23 Mar 2025 19:54:24 +0000 Subject: [PATCH 119/153] chat_status: Handle no user --- AstrakoBot/modules/helper_funcs/chat_status.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/AstrakoBot/modules/helper_funcs/chat_status.py b/AstrakoBot/modules/helper_funcs/chat_status.py index 9c114e70c3..0d689f089e 100644 --- a/AstrakoBot/modules/helper_funcs/chat_status.py +++ b/AstrakoBot/modules/helper_funcs/chat_status.py @@ -388,6 +388,9 @@ def user_is_banhammer(update: Update, context: CallbackContext, *args, **kwargs) def connection_status(func): @wraps(func) def connected_status(update: Update, context: CallbackContext, *args, **kwargs): + if not update.effective_user: + return connected_status + conn = connected( context.bot, update, From c48ec7525a38a060b5fba390b35b4a790b31dde4 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 23 Mar 2025 20:04:55 +0000 Subject: [PATCH 120/153] welcome: Check if bot can restrict first --- AstrakoBot/modules/stickers.py | 4 +-- AstrakoBot/modules/welcome.py | 59 ++++++++++++++++++---------------- 2 files changed, 33 insertions(+), 30 deletions(-) diff --git a/AstrakoBot/modules/stickers.py b/AstrakoBot/modules/stickers.py index f59e214b83..0f85a20e35 100644 --- a/AstrakoBot/modules/stickers.py +++ b/AstrakoBot/modules/stickers.py @@ -143,7 +143,7 @@ def kang(update: Update, context: CallbackContext): if e.message == "Stickerset_invalid": last_set = True else: - print(e) + #print(e) break # something went wrong, leave the loop and send what we have. # If we're done checking bot animated and non-animated packs @@ -391,7 +391,7 @@ def makepack_internal( ) except TelegramError as e: - print(e) + #print(e) if e.message == 'Sticker set name is already occupied': msg.reply_text( 'Your pack can be found [here](t.me/addstickers/%s)' diff --git a/AstrakoBot/modules/welcome.py b/AstrakoBot/modules/welcome.py index 33663b4b66..60be8fa174 100644 --- a/AstrakoBot/modules/welcome.py +++ b/AstrakoBot/modules/welcome.py @@ -31,6 +31,7 @@ from AstrakoBot.modules.log_channel import loggable from AstrakoBot.modules.sql.clear_cmd_sql import get_clearcmd from AstrakoBot.modules.sql.global_bans_sql import is_user_gbanned +from AstrakoBot.modules.helper_funcs.admin_status import get_bot_member from telegram import ( ChatPermissions, InlineKeyboardButton, @@ -408,20 +409,21 @@ def new_member(update: Update, context: CallbackContext): ), parse_mode=ParseMode.HTML, ) - bot.restrict_chat_member( - chat.id, - new_mem.id, - permissions=ChatPermissions( - can_send_messages=False, - can_invite_users=False, - can_pin_messages=False, - can_send_polls=False, - can_change_info=False, - can_send_media_messages=False, - can_send_other_messages=False, - can_add_web_page_previews=False, - ), - ) + if get_bot_member(chat.id).can_restrict_members: + bot.restrict_chat_member( + chat.id, + new_mem.id, + permissions=ChatPermissions( + can_send_messages=False, + can_invite_users=False, + can_pin_messages=False, + can_send_polls=False, + can_change_info=False, + can_send_media_messages=False, + can_send_other_messages=False, + can_add_web_page_previews=False, + ), + ) job_queue.run_once( partial(check_not_bot, new_mem, chat.id, message.message_id), 60, @@ -967,20 +969,21 @@ def user_button(update: Update, context: CallbackContext): member_dict["status"] = True VERIFIED_USER_WAITLIST.update({user.id: member_dict}) query.answer(text="Yeet! You're a human, unmuted!") - bot.restrict_chat_member( - chat.id, - user.id, - permissions=ChatPermissions( - can_send_messages=True, - can_invite_users=True, - can_pin_messages=True, - can_send_polls=True, - can_change_info=True, - can_send_media_messages=True, - can_send_other_messages=True, - can_add_web_page_previews=True, - ), - ) + if get_bot_member(chat.id).can_restrict_members: + bot.restrict_chat_member( + chat.id, + user.id, + permissions=ChatPermissions( + can_send_messages=True, + can_invite_users=True, + can_pin_messages=True, + can_send_polls=True, + can_change_info=True, + can_send_media_messages=True, + can_send_other_messages=True, + can_add_web_page_previews=True, + ), + ) try: bot.deleteMessage(chat.id, message.message_id) except: From 519c0f28c10789df96ef6df1653d91341fe11c51 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 23 Mar 2025 20:09:36 +0000 Subject: [PATCH 121/153] welcome: Stickers do not have caption [2] --- AstrakoBot/modules/welcome.py | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/AstrakoBot/modules/welcome.py b/AstrakoBot/modules/welcome.py index 60be8fa174..3805e99511 100644 --- a/AstrakoBot/modules/welcome.py +++ b/AstrakoBot/modules/welcome.py @@ -990,13 +990,24 @@ def user_button(update: Update, context: CallbackContext): pass if member_dict["should_welc"]: if member_dict["media_wel"]: - sent = ENUM_FUNC_MAP[member_dict["welc_type"]]( - member_dict["chat_id"], - member_dict["cust_content"], - caption=member_dict["res"], - reply_markup=member_dict["keyboard"], - parse_mode="markdown", - ) + if welc_type == sql.Types.STICKER: + sent = ENUM_FUNC_MAP[member_dict["welc_type"]]( + member_dict["chat_id"], + member_dict["cust_content"], + reply_markup=member_dict["keyboard"], + ) and ENUM_FUNC_MAP[sql.Types.TEXT]( + member_dict["chat_id"], + member_dict["res"], + parse_mode="markdown", + ) + else: + sent = ENUM_FUNC_MAP[member_dict["welc_type"]]( + member_dict["chat_id"], + member_dict["cust_content"], + caption=member_dict["res"], + reply_markup=member_dict["keyboard"], + parse_mode="markdown", + ) else: sent = send( member_dict["update"], From 36369c51df2f592446e73ace409bae74e2e93d9e Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 23 Mar 2025 20:29:25 +0000 Subject: [PATCH 122/153] welcome: Fix bugs --- AstrakoBot/modules/welcome.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/AstrakoBot/modules/welcome.py b/AstrakoBot/modules/welcome.py index 3805e99511..fbdf1c01d3 100644 --- a/AstrakoBot/modules/welcome.py +++ b/AstrakoBot/modules/welcome.py @@ -77,6 +77,9 @@ # do not async def send(update, message, keyboard, backup_message, reply_to_message=None): + if not message: + return + chat = update.effective_chat try: msg = dispatcher.bot.send_message(chat.id, @@ -195,6 +198,10 @@ def new_member(update: Update, context: CallbackContext): should_mute = True welcome_bool = True media_wel = False + keyboard = None + backup_message = "" + reply = None + if sw is not None: sw_ban = sw.get_ban(new_mem.id) @@ -327,13 +334,9 @@ def new_member(update: Update, context: CallbackContext): first=escape_markdown(first_name) ) keyboard = InlineKeyboardMarkup(keyb) - else: welcome_bool = False - res = None - keyboard = None backup_message = None - reply = None # User exceptions from welcomemutes if ( @@ -988,7 +991,7 @@ def user_button(update: Update, context: CallbackContext): bot.deleteMessage(chat.id, message.message_id) except: pass - if member_dict["should_welc"]: + if member_dict["should_welc"] and welc_type: if member_dict["media_wel"]: if welc_type == sql.Types.STICKER: sent = ENUM_FUNC_MAP[member_dict["welc_type"]]( From 67792844a37d07479165df12cb3f709c404f4f98 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 23 Mar 2025 20:45:52 +0000 Subject: [PATCH 123/153] admin_status: Return falsy member to avoid crashes related to bot member --- .../modules/helper_funcs/admin_status.py | 28 +++++++++++++++++-- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/AstrakoBot/modules/helper_funcs/admin_status.py b/AstrakoBot/modules/helper_funcs/admin_status.py index 382389e8a8..1d9cdf2514 100644 --- a/AstrakoBot/modules/helper_funcs/admin_status.py +++ b/AstrakoBot/modules/helper_funcs/admin_status.py @@ -17,9 +17,31 @@ def get_bot_member(chat_id: int) -> ChatMember: try: return BOT_ADMIN_CACHE[chat_id] except KeyError: - mem = dispatcher.bot.getChatMember(chat_id, dispatcher.bot.id) - BOT_ADMIN_CACHE[chat_id] = mem - return mem + try: + mem = dispatcher.bot.getChatMember(chat_id, dispatcher.bot.id) + BOT_ADMIN_CACHE[chat_id] = mem + return mem + except: + bot_user = dispatcher.bot.get_me() + ghost = ChatMember( + user=bot_user, + status='member', + can_be_edited=False, + is_anonymous=False, + can_manage_chat=False, + can_delete_messages=False, + can_manage_video_chats=False, + can_restrict_members=False, + can_promote_members=False, + can_change_info=False, + can_invite_users=False, + can_post_messages=False, + can_edit_messages=False, + can_pin_messages=False, + can_manage_topics=False, + can_send_messages=False, + ) + return ghost def user_is_admin(chat: Chat, user_id: int) -> bool: From f8f6d590517c86cb326b144427e44185c4291681 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Mon, 24 Mar 2025 18:41:14 +0000 Subject: [PATCH 124/153] welcome: No need to check for welcome type --- AstrakoBot/modules/welcome.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/welcome.py b/AstrakoBot/modules/welcome.py index fbdf1c01d3..e86d6047e2 100644 --- a/AstrakoBot/modules/welcome.py +++ b/AstrakoBot/modules/welcome.py @@ -991,7 +991,7 @@ def user_button(update: Update, context: CallbackContext): bot.deleteMessage(chat.id, message.message_id) except: pass - if member_dict["should_welc"] and welc_type: + if member_dict["should_welc"]: if member_dict["media_wel"]: if welc_type == sql.Types.STICKER: sent = ENUM_FUNC_MAP[member_dict["welc_type"]]( From be264d6923a2e7c037c81516b97234fb1acc4e5c Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Mon, 24 Mar 2025 18:45:01 +0000 Subject: [PATCH 125/153] feds: Fix crash when fed owner has blocked bot --- AstrakoBot/modules/feds.py | 103 ++++++++++++++++++++----------------- 1 file changed, 57 insertions(+), 46 deletions(-) diff --git a/AstrakoBot/modules/feds.py b/AstrakoBot/modules/feds.py index 194734f77d..9d8f582cb7 100644 --- a/AstrakoBot/modules/feds.py +++ b/AstrakoBot/modules/feds.py @@ -690,22 +690,25 @@ def fed_ban(update: Update, context: CallbackContext): ) # Send message to owner if fednotif is enabled if getfednotif: - bot.send_message( - info["owner"], - "FedBan reason updated" - "\nFederation: {}" - "\nFederation Admin: {}" - "\nUser: {}" - "\nUser ID: {}" - "\nReason: {}".format( - fed_name, - mention_html(user.id, user.first_name), - user_target, - fban_user_id, - reason, - ), - parse_mode="HTML", - ) + try: + bot.send_message( + info["owner"], + "FedBan reason updated" + "\nFederation: {}" + "\nFederation Admin: {}" + "\nUser: {}" + "\nUser ID: {}" + "\nReason: {}".format( + fed_name, + mention_html(user.id, user.first_name), + user_target, + fban_user_id, + reason, + ), + parse_mode="HTML", + ) + except Unauthorized: + pass if message.text.startswith("/s"): silent = True @@ -910,22 +913,26 @@ def fed_ban(update: Update, context: CallbackContext): # Send message to owner if fednotif is enabled if getfednotif: - bot.send_message( - info["owner"], - "New FedBan" - "\nFederation: {}" - "\nFederation Admin: {}" - "\nUser: {}" - "\nUser ID: {}" - "\nReason: {}".format( - fed_name, - mention_html(user.id, user.first_name), - user_target, - fban_user_id, - reason, - ), - parse_mode="HTML", - ) + try: + bot.send_message( + info["owner"], + "New FedBan" + "\nFederation: {}" + "\nFederation Admin: {}" + "\nUser: {}" + "\nUser ID: {}" + "\nReason: {}".format( + fed_name, + mention_html(user.id, user.first_name), + user_target, + fban_user_id, + reason, + ), + parse_mode="HTML", + ) + except Unauthorized: + pass + # If fedlog is set, then send message, except fedlog is current chat if get_fedlog:= sql.get_fed_log(fed_id): if int(get_fedlog) != int(chat.id): @@ -1165,20 +1172,24 @@ def unfban(update: Update, context: CallbackContext): ) # Send message to owner if fednotif is enabled if getfednotif: - bot.send_message( - info["owner"], - "Un-FedBan" - "\nFederation: {}" - "\nFederation Admin: {}" - "\nUser: {}" - "\nUser ID: {}".format( - info["fname"], - mention_html(user.id, user.first_name), - user_target, - fban_user_id, - ), - parse_mode="HTML", - ) + try: + bot.send_message( + info["owner"], + "Un-FedBan" + "\nFederation: {}" + "\nFederation Admin: {}" + "\nUser: {}" + "\nUser ID: {}".format( + info["fname"], + mention_html(user.id, user.first_name), + user_target, + fban_user_id, + ), + parse_mode="HTML", + ) + except Unauthorized: + pass + # If fedlog is set, then send message, except fedlog is current chat get_fedlog = sql.get_fed_log(fed_id) if get_fedlog: From 2fedd84aa0258ecfede6edd39b91d588d34fd597 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Mon, 24 Mar 2025 19:52:26 +0000 Subject: [PATCH 126/153] notes: Fix infinite newlines --- AstrakoBot/modules/notes.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/AstrakoBot/modules/notes.py b/AstrakoBot/modules/notes.py index 9f36455d70..7bde6bafbd 100644 --- a/AstrakoBot/modules/notes.py +++ b/AstrakoBot/modules/notes.py @@ -171,6 +171,8 @@ def get(update: Update, context: CallbackContext, notename, show_none=True, no_f try: setting = getprivatenotes(chat_id) if note.msgtype in (sql.Types.BUTTON_TEXT, sql.Types.TEXT): + text = re.sub(r'\n{3,}', '\n\n', text) + if setting: bot.send_message( user.id, From 87f91df929e9d18f5518c2d9ced7f82bed8c91ac Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Mon, 24 Mar 2025 20:35:27 +0000 Subject: [PATCH 127/153] github: first -> first_name --- AstrakoBot/modules/github.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/github.py b/AstrakoBot/modules/github.py index d5b9d4f354..991b364052 100755 --- a/AstrakoBot/modules/github.py +++ b/AstrakoBot/modules/github.py @@ -207,7 +207,7 @@ def delRepo(update: Update, context: CallbackContext): def listRepo(update: Update, context: CallbackContext): chat_id = update.effective_chat.id chat = update.effective_chat - chat_name = chat.title or chat.first or chat.username + chat_name = chat.title or chat.first_name or chat.username repo_list = sql.get_all_repos(str(chat_id)) msg = "*List of repo shotcuts in {}:*\n" des = "You can get repo shortcuts by using `/fetch repo`, or `&repo`.\n" From 6485279b9f392e3b67279a38fc33553201473b57 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Tue, 25 Mar 2025 20:38:12 +0000 Subject: [PATCH 128/153] warns: Uncomment reply --- AstrakoBot/modules/warns.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/warns.py b/AstrakoBot/modules/warns.py index b612a3d2e8..438d49c3d0 100644 --- a/AstrakoBot/modules/warns.py +++ b/AstrakoBot/modules/warns.py @@ -55,7 +55,7 @@ def warn( user: User, chat: Chat, reason: str, message: Message, warner: User = None ) -> str: if user_is_admin(chat, user.id): - # message.reply_text("Damn admins, They are too far to be One Punched!") + message.reply_text("Damn admins, They are too far to be One Punched!") return if user.id in WHITELIST_USERS: From 605a67428a324b8251403501cdb65af5e68897fb Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Tue, 25 Mar 2025 22:11:07 +0000 Subject: [PATCH 129/153] muting/warns: Check if user is ban protected instead --- AstrakoBot/modules/muting.py | 3 ++- AstrakoBot/modules/warns.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/AstrakoBot/modules/muting.py b/AstrakoBot/modules/muting.py index 017044272e..bd3188484f 100644 --- a/AstrakoBot/modules/muting.py +++ b/AstrakoBot/modules/muting.py @@ -8,6 +8,7 @@ connection_status, user_admin, can_delete, + is_user_ban_protected, ) from AstrakoBot.modules.helper_funcs.extraction import ( extract_user, @@ -41,7 +42,7 @@ def check_user(user_id: int, bot: Bot, chat: Chat) -> Optional[str]: reply = "I'm not gonna MUTE myself, How high are you?" return reply - if user_is_admin(chat, user_id): + if is_user_ban_protected(chat, user_id): reply = "Can't. Find someone else to mute but not this one." return reply diff --git a/AstrakoBot/modules/warns.py b/AstrakoBot/modules/warns.py index 438d49c3d0..5556275e4b 100644 --- a/AstrakoBot/modules/warns.py +++ b/AstrakoBot/modules/warns.py @@ -11,6 +11,7 @@ user_admin, user_admin_no_reply, can_delete, + is_user_ban_protected, ) from AstrakoBot.modules.helper_funcs.extraction import ( extract_text, @@ -54,7 +55,7 @@ def warn( user: User, chat: Chat, reason: str, message: Message, warner: User = None ) -> str: - if user_is_admin(chat, user.id): + if is_user_ban_protected(chat, user.id): message.reply_text("Damn admins, They are too far to be One Punched!") return From 45206fe7c48155943147283e0026781891b671d1 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Tue, 25 Mar 2025 22:12:41 +0000 Subject: [PATCH 130/153] muting: Use decorator --- AstrakoBot/modules/muting.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/AstrakoBot/modules/muting.py b/AstrakoBot/modules/muting.py index bd3188484f..e90a015e8d 100644 --- a/AstrakoBot/modules/muting.py +++ b/AstrakoBot/modules/muting.py @@ -56,6 +56,7 @@ def check_user(user_id: int, bot: Bot, chat: Chat) -> Optional[str]: @connection_status @bot_admin @user_admin +@can_restrict @loggable def mute(update: Update, context: CallbackContext) -> str: bot = context.bot @@ -92,12 +93,6 @@ def mute(update: Update, context: CallbackContext) -> str: if member.can_send_messages is None or member.can_send_messages: chat_permissions = ChatPermissions(can_send_messages=False) - if not get_bot_member(chat.id).can_restrict_members: - if not silent: - bot.sendMessage(chat.id, "I can't restrict people here!") - else: - message.delete() - return log bot.restrict_chat_member(chat.id, user_id, chat_permissions) if not silent: reply = ( @@ -124,6 +119,7 @@ def mute(update: Update, context: CallbackContext) -> str: @connection_status @bot_admin @user_admin +@can_restrict @loggable def unmute(update: Update, context: CallbackContext) -> str: bot, args = context.bot, context.args @@ -158,9 +154,6 @@ def unmute(update: Update, context: CallbackContext) -> str: ): if not silent: message.reply_text("This user already has the right to speak.") - elif not get_bot_member(chat.id).can_restrict_members: - if not silent: - bot.sendMessage(chat.id, "I can't restrict people here!") else: chat_permissions = ChatPermissions( can_send_messages=True, From 51e8f67cf12fa47cde00d30ed22b0d6609757581 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Tue, 25 Mar 2025 22:16:26 +0000 Subject: [PATCH 131/153] warns/muting: Check if user can restrict --- AstrakoBot/modules/muting.py | 4 ++++ AstrakoBot/modules/warns.py | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/AstrakoBot/modules/muting.py b/AstrakoBot/modules/muting.py index e90a015e8d..0b8fae2be8 100644 --- a/AstrakoBot/modules/muting.py +++ b/AstrakoBot/modules/muting.py @@ -7,6 +7,7 @@ can_restrict, connection_status, user_admin, + user_can_ban, can_delete, is_user_ban_protected, ) @@ -56,6 +57,7 @@ def check_user(user_id: int, bot: Bot, chat: Chat) -> Optional[str]: @connection_status @bot_admin @user_admin +@user_can_ban @can_restrict @loggable def mute(update: Update, context: CallbackContext) -> str: @@ -119,6 +121,7 @@ def mute(update: Update, context: CallbackContext) -> str: @connection_status @bot_admin @user_admin +@user_can_ban @can_restrict @loggable def unmute(update: Update, context: CallbackContext) -> str: @@ -199,6 +202,7 @@ def unmute(update: Update, context: CallbackContext) -> str: @bot_admin @can_restrict @user_admin +@user_can_ban @loggable def temp_mute(update: Update, context: CallbackContext) -> str: bot, args = context.bot, context.args diff --git a/AstrakoBot/modules/warns.py b/AstrakoBot/modules/warns.py index 5556275e4b..8e93602887 100644 --- a/AstrakoBot/modules/warns.py +++ b/AstrakoBot/modules/warns.py @@ -9,6 +9,7 @@ bot_admin, can_restrict, user_admin, + user_can_ban, user_admin_no_reply, can_delete, is_user_ban_protected, @@ -180,6 +181,7 @@ def button(update: Update, context: CallbackContext) -> str: @user_admin +@user_can_ban @can_restrict @loggable def warn_user(update: Update, context: CallbackContext) -> str: @@ -211,6 +213,7 @@ def warn_user(update: Update, context: CallbackContext) -> str: return "" @user_admin +@user_can_ban @bot_admin @loggable def rm_last_warn(update: Update, context: CallbackContext) -> str: @@ -236,6 +239,7 @@ def rm_last_warn(update: Update, context: CallbackContext) -> str: return "" @user_admin +@user_can_ban @bot_admin @loggable def reset_warns(update: Update, context: CallbackContext) -> str: @@ -292,6 +296,7 @@ def warns(update: Update, context: CallbackContext): # Dispatcher handler stop - do not async @user_admin +@user_can_ban def add_warn_filter(update: Update, context: CallbackContext): chat: Optional[Chat] = update.effective_chat msg: Optional[Message] = update.effective_message @@ -325,6 +330,7 @@ def add_warn_filter(update: Update, context: CallbackContext): @user_admin +@user_can_ban def remove_warn_filter(update: Update, context: CallbackContext): chat: Optional[Chat] = update.effective_chat msg: Optional[Message] = update.effective_message @@ -409,6 +415,7 @@ def reply_filter(update: Update, context: CallbackContext) -> str: @user_admin +@user_can_ban @loggable def set_warn_limit(update: Update, context: CallbackContext) -> str: args = context.args @@ -441,6 +448,7 @@ def set_warn_limit(update: Update, context: CallbackContext) -> str: @user_admin +@user_can_ban def set_warn_strength(update: Update, context: CallbackContext): args = context.args chat: Optional[Chat] = update.effective_chat From b5ec1649d739f12e3b672f8e60e5f9bd6b931352 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Wed, 26 Mar 2025 13:57:01 +0000 Subject: [PATCH 132/153] welcome: Fix mistake --- AstrakoBot/modules/welcome.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/welcome.py b/AstrakoBot/modules/welcome.py index e86d6047e2..048c5bdcdc 100644 --- a/AstrakoBot/modules/welcome.py +++ b/AstrakoBot/modules/welcome.py @@ -993,7 +993,7 @@ def user_button(update: Update, context: CallbackContext): pass if member_dict["should_welc"]: if member_dict["media_wel"]: - if welc_type == sql.Types.STICKER: + if member_dict["welc_type"] == sql.Types.STICKER: sent = ENUM_FUNC_MAP[member_dict["welc_type"]]( member_dict["chat_id"], member_dict["cust_content"], From f49fd76aff03288d571d68e75f74cd4c3d81c3fe Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 6 Apr 2025 10:01:44 -0300 Subject: [PATCH 133/153] orangefox: Find first mirror --- AstrakoBot/modules/android.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/android.py b/AstrakoBot/modules/android.py index e5347478a7..08fcaa5aad 100644 --- a/AstrakoBot/modules/android.py +++ b/AstrakoBot/modules/android.py @@ -288,7 +288,7 @@ def orangefox(update: Update, context: CallbackContext): version = page["version"] changelog = page["changelog"][0] size = str(round(float(page["size"]) / 1024 / 1024, 1)) + "MB" - dl_link = page["mirrors"]["DL"] + dl_link = page["mirrors"][next(iter(page["mirrors"]))] date = datetime.fromtimestamp(page["date"]) md5 = page["md5"] msg = f"*Latest OrangeFox Recovery for the {full_name}*\n\n" From 68703f48f2f8ca3dbf2f6c9f56b52d9ec735b7e7 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 6 Apr 2025 10:15:46 -0300 Subject: [PATCH 134/153] welcome: Fix /welcome for documents and stickers --- AstrakoBot/modules/welcome.py | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/AstrakoBot/modules/welcome.py b/AstrakoBot/modules/welcome.py index 048c5bdcdc..6733b150c4 100644 --- a/AstrakoBot/modules/welcome.py +++ b/AstrakoBot/modules/welcome.py @@ -629,6 +629,22 @@ def left_member(update: Update, context: CallbackContext): deletion(update, context, delmsg) +def get_welcome_kwargs(welcome_type, chat, welcome_m, keyboard): + kwargs = { + 'reply_markup': keyboard, + } + + # Add caption (except for stickers) + if welcome_type != sql.Types.STICKER: + kwargs['caption'] = welcome_m + kwargs['parse_mode'] = ParseMode.MARKDOWN + + # Add web preview disable (only for supported types) + if welcome_type in {sql.Types.TEXT, sql.Types.PHOTO}: + kwargs['disable_web_page_preview'] = True + + return kwargs + @user_admin def welcome(update: Update, context: CallbackContext): args = context.args @@ -657,20 +673,17 @@ def welcome(update: Update, context: CallbackContext): else: buttons = sql.get_welc_buttons(chat.id) if noformat: - welcome_m += revert_buttons(buttons) - ENUM_FUNC_MAP[welcome_type](chat.id, cust_content, caption=welcome_m) + if welcome_m: + welcome_m += revert_buttons(buttons) + ENUM_FUNC_MAP[welcome_type](chat.id, cust_content, caption=welcome_m) + else: + ENUM_FUNC_MAP[welcome_type](chat.id, cust_content) else: keyb = build_keyboard(buttons) keyboard = InlineKeyboardMarkup(keyb) - ENUM_FUNC_MAP[welcome_type]( - chat.id, - cust_content, - caption=welcome_m, - reply_markup=keyboard, - parse_mode=ParseMode.MARKDOWN, - disable_web_page_preview=True, - ) + kwargs = get_welcome_kwargs(welcome_type, chat, welcome_m, keyboard) + ENUM_FUNC_MAP[welcome_type](chat.id, cust_content, **kwargs) elif len(args) >= 1: if args[0].lower() in ("on", "yes"): From f372e5d5b8be63077be77dcdc57ea487372c49ad Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 6 Apr 2025 10:28:30 -0300 Subject: [PATCH 135/153] cust_filters: Format only chat name --- AstrakoBot/modules/cust_filters.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AstrakoBot/modules/cust_filters.py b/AstrakoBot/modules/cust_filters.py index 145d572762..c6125eba3e 100644 --- a/AstrakoBot/modules/cust_filters.py +++ b/AstrakoBot/modules/cust_filters.py @@ -84,7 +84,7 @@ def list_handlers(update: Update, context: CallbackContext): if len(entry) + len(filter_list) > telegram.MAX_MESSAGE_LENGTH: deletion(update, context, send_message( update.effective_message, - filter_list.format(chat_name), + filter_list.replace("{}", chat_name, 1), parse_mode=telegram.ParseMode.MARKDOWN, )) filter_list = entry @@ -93,7 +93,7 @@ def list_handlers(update: Update, context: CallbackContext): deletion(update, context, send_message( update.effective_message, - filter_list.format(chat_name), + filter_list.replace("{}", chat_name, 1), parse_mode=telegram.ParseMode.MARKDOWN, )) From 5e6e6a7feb50a408dfa81f252e66dbf20e64be7c Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 6 Apr 2025 13:38:08 -0300 Subject: [PATCH 136/153] log_channel: Handle bot removal --- AstrakoBot/modules/log_channel.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/AstrakoBot/modules/log_channel.py b/AstrakoBot/modules/log_channel.py index 9e48a8525a..4ff68871a1 100644 --- a/AstrakoBot/modules/log_channel.py +++ b/AstrakoBot/modules/log_channel.py @@ -116,13 +116,16 @@ def logging(update: Update, context: CallbackContext): log_channel = sql.get_chat_log_channel(chat.id) if log_channel: - log_channel_info = bot.get_chat(log_channel) - message.reply_text( - f"This group has all it's logs sent to:" - f" {escape_markdown(log_channel_info.title)} (`{log_channel}`)", - parse_mode=ParseMode.MARKDOWN, - ) - + try: + log_channel_info = bot.get_chat(log_channel) + message.reply_text( + f"This group has all it's logs sent to:" + f" {escape_markdown(log_channel_info.title)} (`{log_channel}`)", + parse_mode=ParseMode.MARKDOWN, + ) + except Unauthorized: + sql.stop_chat_logging(chat.id) + message.reply_text("No log channel has been set for this group!") else: message.reply_text("No log channel has been set for this group!") From dafbf75e0c6b20b1ad0a8da5cc075d3bc10c50b0 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 6 Apr 2025 10:44:03 -0300 Subject: [PATCH 137/153] welcome: Handle topic closed --- AstrakoBot/modules/welcome.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/welcome.py b/AstrakoBot/modules/welcome.py index 6733b150c4..4a8b2341e3 100644 --- a/AstrakoBot/modules/welcome.py +++ b/AstrakoBot/modules/welcome.py @@ -143,7 +143,7 @@ def send(update, message, keyboard, backup_message, reply_to_message=None): LOGGER.warning(message) LOGGER.warning(keyboard) LOGGER.exception("Could not parse! got invalid url host errors") - elif excp.message == "Have no rights to send a message": + elif excp.message == "Have no rights to send a message" or excp.message == "Topic_closed": return else: msg = dispatcher.bot.send_message(chat.id, From 42bf7eb534cc1fa2c4488f9681b03deb274792e2 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 6 Apr 2025 13:48:28 -0300 Subject: [PATCH 138/153] init: Reduce log spam even more --- AstrakoBot/__init__.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/AstrakoBot/__init__.py b/AstrakoBot/__init__.py index e45729f847..830553c8c5 100644 --- a/AstrakoBot/__init__.py +++ b/AstrakoBot/__init__.py @@ -17,7 +17,10 @@ ) LOGGER = logging.getLogger(__name__) -logging.getLogger("telethon.client.updates").setLevel(logging.WARNING) +log_warning_only = ["telethon.client.updates", "apscheduler.scheduler", "apscheduler.executors.default", "telethon.network.mtprotosender", "telethon.client"] + +for i in log_warning_only: + logging.getLogger(i).setLevel(logging.WARNING) # if version < 3.6, stop bot. if sys.version_info[0] < 3 or sys.version_info[1] < 6: From 520ca0b423ced8cc3ed823945a709585406eff85 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 6 Apr 2025 10:56:09 -0300 Subject: [PATCH 139/153] quotly: Fix replying to channels --- AstrakoBot/modules/quotly.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/AstrakoBot/modules/quotly.py b/AstrakoBot/modules/quotly.py index 4842aec4c5..6ba1d4ea1d 100644 --- a/AstrakoBot/modules/quotly.py +++ b/AstrakoBot/modules/quotly.py @@ -143,8 +143,12 @@ async def process(msg, user, client, reply, replied=None): y = 80 if replied: # Creating a big canvas to gather all the elements - replname = "" if not replied.sender.last_name else replied.sender.last_name - reptot = replied.sender.first_name + " " + replname + reptot = ( + replied.sender.first_name or + getattr(replied.sender, 'title', '') or + getattr(replied.sender, 'username', '') or + "Bot" + ) replywidth = font2.getsize(reptot)[0] if reply.sticker: sticker = await reply.download_media() @@ -430,6 +434,7 @@ async def quotly(event): return reply = await event.get_reply_message() if reply is None: + await event.reply("What to quote?") return msg = reply.message repliedreply = await reply.get_reply_message() From 15a123f42451214248ffd8d0cf516a658f78984d Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 6 Apr 2025 10:59:49 -0300 Subject: [PATCH 140/153] bans: Handle insufficient 'delete messages' permission --- AstrakoBot/modules/bans.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/bans.py b/AstrakoBot/modules/bans.py index 913a9c9200..9f771d9fa6 100644 --- a/AstrakoBot/modules/bans.py +++ b/AstrakoBot/modules/bans.py @@ -123,7 +123,7 @@ def ban(update: Update, context: CallbackContext) -> str: return log except BadRequest as excp: - if excp.message == "Reply message not found": + if excp.message == "Reply message not found" or excp.message == "Message can't be deleted": # Do not reply if silent: return log From fb6d1a50b3f2f61af712b5b43068e2f287d103fb Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 6 Apr 2025 11:05:32 -0300 Subject: [PATCH 141/153] quotly: Handle members that left chat --- AstrakoBot/modules/quotly.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/AstrakoBot/modules/quotly.py b/AstrakoBot/modules/quotly.py index 6ba1d4ea1d..b0086325e9 100644 --- a/AstrakoBot/modules/quotly.py +++ b/AstrakoBot/modules/quotly.py @@ -1,5 +1,6 @@ from PIL import Image, ImageDraw, ImageFont, ImageOps from telethon.tl import types, functions +from telethon.errors.rpcerrorlist import UserNotParticipantError from fontTools.ttLib import TTFont from fontTools.unicode import Unicode import emoji @@ -90,6 +91,8 @@ async def process(msg, user, client, reply, replied=None): title = details.participant.rank if details.participant.rank else "Creator" elif isinstance(details.participant, types.ChannelParticipantAdmin): title = details.participant.rank if details.participant.rank else "Admin" + except UserNotParticipantError: + pass except TypeError: pass titlewidth = font2.getsize(title)[0] From 7caef2ee628f029fc5653a4ac497d463a7c80f63 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 6 Apr 2025 16:06:41 -0300 Subject: [PATCH 142/153] quotly: Fix sending as channel Also, remove broken links. --- AstrakoBot/modules/quotly.py | 36 ++++++++++-------------------------- 1 file changed, 10 insertions(+), 26 deletions(-) diff --git a/AstrakoBot/modules/quotly.py b/AstrakoBot/modules/quotly.py index b0086325e9..60d724d5e5 100644 --- a/AstrakoBot/modules/quotly.py +++ b/AstrakoBot/modules/quotly.py @@ -27,29 +27,6 @@ async def process(msg, user, client, reply, replied=None): - if not os.path.isdir("resources"): - os.mkdir("resources", 0o755) - urllib.request.urlretrieve( - "https://github.com/erenmetesar/modules-repo/raw/master/Roboto-Regular.ttf", - "resources/Roboto-Regular.ttf", - ) - urllib.request.urlretrieve( - "https://github.com/erenmetesar/modules-repo/raw/master/Quivira.otf", - "resources/Quivira.otf", - ) - urllib.request.urlretrieve( - "https://github.com/erenmetesar/modules-repo/raw/master/Roboto-Medium.ttf", - "resources/Roboto-Medium.ttf", - ) - urllib.request.urlretrieve( - "https://github.com/erenmetesar/modules-repo/raw/master/DroidSansMono.ttf", - "resources/DroidSansMono.ttf", - ) - urllib.request.urlretrieve( - "https://github.com/erenmetesar/modules-repo/raw/master/Roboto-Italic.ttf", - "resources/Roboto-Italic.ttf", - ) - # Importing fonts and gettings the size of text font = ImageFont.truetype("resources/Roboto-Medium.ttf", 43, encoding="utf-16") font2 = ImageFont.truetype("resources/Roboto-Regular.ttf", 33, encoding="utf-16") @@ -98,8 +75,13 @@ async def process(msg, user, client, reply, replied=None): titlewidth = font2.getsize(title)[0] # Get user name - lname = "" if not user.last_name else user.last_name - tot = user.first_name + " " + lname + tot = ( + f"{user.first_name} {user.last_name}" if (user.first_name and user.last_name) else + user.first_name or + getattr(user, 'title', '') or + getattr(user, 'username', '') or + "Bot" + ) namewidth = fallback.getsize(tot)[0] + 10 @@ -147,7 +129,9 @@ async def process(msg, user, client, reply, replied=None): if replied: # Creating a big canvas to gather all the elements reptot = ( - replied.sender.first_name or + f"{replied.sender.first_name} {replied.sender.last_name}".strip() + if getattr(replied.sender, 'last_name', None) + else replied.sender.first_name or getattr(replied.sender, 'title', '') or getattr(replied.sender, 'username', '') or "Bot" From b3df7cf3dc47b8c4aa176e441fddf72a4e26cbbd Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sun, 6 Apr 2025 16:22:09 -0300 Subject: [PATCH 143/153] quotly: Add fonts to repo --- resources/DroidSansMono.ttf | Bin 0 -> 108128 bytes resources/Quivira.otf | Bin 0 -> 1549016 bytes resources/Roboto-Italic.ttf | Bin 0 -> 328640 bytes resources/Roboto-Medium.ttf | Bin 0 -> 160696 bytes resources/Roboto-Regular.ttf | Bin 0 -> 158604 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 resources/DroidSansMono.ttf create mode 100644 resources/Quivira.otf create mode 100644 resources/Roboto-Italic.ttf create mode 100644 resources/Roboto-Medium.ttf create mode 100644 resources/Roboto-Regular.ttf diff --git a/resources/DroidSansMono.ttf b/resources/DroidSansMono.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b7bf5b4aa8ad5a8c8036653734d83006c6a376ee GIT binary patch literal 108128 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%0DNS=lXa`PGK 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 `lNq)9J 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�RcX?AHgWtc9 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

  • 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%0D(-5@ua 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�nw6Cm66|J1lMiLa9RhC?=qEbt`;E z_RED#4iP#S9|tCl`JU5bf3hg1Wp3P63c5NA?x&}aq=bS+wh7gkb2wH_uZkSTP3e4% zj|CECsjT5NQdvpH-xni@AhAmiH>F1!(Ou24ss*DdR+# z3XiBi#^C1kZk4TAL?6Ot4CYx-R)2wYIEx^)Nb~2=K_41Ji!9iQ&TA&~gSj+8BvXhY zEZ}K64@GAolSc$qFlufiAZ@ac(My*)h%W1VYB>}vElyP_UhN>72iM7lrWY(u6B{ji zFq@_>eT*zT1^!sW|0XfN-pfwXHSs{CF$t@@v!|yk?vDC198mSW0JJC)#>*;Th{^uv?pUy!tJK6$%$h||GNKFxplEyGh9Ec zv*&V4xK+A^_6MNZy#k!uC%8LFkfcdJSwe;pHSMF&>;8$_>4)h}^lthk`W$_UYJ3mB zW=wvq90|nGclk4gWCn54!B6Sbd_ob_{Bq7;$Ylz$!Sx)7r3Plri& !WiSn5K9ic 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%0D$m{ZCD% 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%0DZwm_SFb+$m8e08=!n|yV)K%0DZwm_SFfs?yALGrbz2-@VU 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

    ^_^xpl_6sq*GSh}qX0(@uLT;nH6s>$x)^7PBi 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 literal 0 HcmV?d00001 diff --git a/resources/Roboto-Medium.ttf b/resources/Roboto-Medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..87983419893a8952c3f286dc56d37fb94e320da0 GIT binary patch literal 160696 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 literal 0 HcmV?d00001 diff --git a/resources/Roboto-Regular.ttf b/resources/Roboto-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7d9a6c4c32d7e920b549caf531e390733496b6e0 GIT binary patch literal 158604 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
    v%Q*Qgy;tdJj4ZONjTx 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

    sDMz7$^SDZV4x`K*fov0l~+M89O^^Om^v{t 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 literal 0 HcmV?d00001 From 8d84f9070d2644e139670ce010eeed410a331037 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Sat, 12 Apr 2025 10:28:05 -0300 Subject: [PATCH 144/153] fedadmins: Fixes --- AstrakoBot/modules/feds.py | 21 +++++++++++++++------ AstrakoBot/modules/sql/feds_sql.py | 14 +++++++------- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/AstrakoBot/modules/feds.py b/AstrakoBot/modules/feds.py index 9d8f582cb7..d084114093 100644 --- a/AstrakoBot/modules/feds.py +++ b/AstrakoBot/modules/feds.py @@ -6,6 +6,7 @@ import time import uuid from io import BytesIO +from html import escape import AstrakoBot.modules.sql.feds_sql as sql from AstrakoBot import ( @@ -520,9 +521,10 @@ def fed_admin(update: Update, context: CallbackContext): owner_name = owner.first_name + " " + owner.last_name except BaseException: owner_name = owner.first_name or 'Deleted' - text += " • {}\n".format(mention_html(owner.id, owner_name)) + text += " • {} ({})\n".format(mention_html(owner.id, owner_name), escape(str(owner.id))) members = sql.all_fed_members(fed_id) + zombies = [] if len(members) == 0: text += "\n🔱 There are no admins in this federation" else: @@ -530,11 +532,18 @@ def fed_admin(update: Update, context: CallbackContext): for x in members: try: user = bot.get_chat(x) - except BadRequest as excp: - if excp.message in FBAN_ERRORS: - pass - name = user.first_name or 'Deleted' - text += " • {}\n".format(mention_html(user.id, user.first_name)) + except BadRequest: + continue + + if not user.first_name: + zombies.append(user.id) + continue + text += " • {} ({})\n".format(mention_html(user.id, user.first_name), escape(str(user.id))) + + if zombies: + text += "\n🧟 Zombies:\n" + for user_id in zombies: + text += " • {}\n".format(escape(str(user_id))) update.effective_message.reply_text(text, parse_mode=ParseMode.HTML) diff --git a/AstrakoBot/modules/sql/feds_sql.py b/AstrakoBot/modules/sql/feds_sql.py index 798c76c8fc..3b4c8c7bed 100644 --- a/AstrakoBot/modules/sql/feds_sql.py +++ b/AstrakoBot/modules/sql/feds_sql.py @@ -149,7 +149,7 @@ def get_user_fban(fed_id, user_id): def get_user_admin_fed_name(user_id): user_feds = [] for f in FEDERATION_BYFEDID: - if int(user_id) in ast.literal_eval(ast.literal_eval(FEDERATION_BYFEDID[f]["fusers"])["members"]): + if int(user_id) in list(set(ast.literal_eval(ast.literal_eval(FEDERATION_BYFEDID[f]["fusers"])["members"]))): user_feds.append(FEDERATION_BYFEDID[f]["fname"]) return user_feds @@ -165,7 +165,7 @@ def get_user_owner_fed_name(user_id): def get_user_admin_fed_full(user_id): user_feds = [] for f in FEDERATION_BYFEDID: - if int(user_id) in ast.literal_eval(ast.literal_eval(FEDERATION_BYFEDID[f]["fusers"])["members"]): + if int(user_id) in list(set(ast.literal_eval(ast.literal_eval(FEDERATION_BYFEDID[f]["fusers"])["members"]))): user_feds.append({"fed_id": f, "fed": FEDERATION_BYFEDID[f]}) return user_feds @@ -327,7 +327,7 @@ def search_user_in_fed(fed_id, user_id): if getfed is None: return False getfed = ast.literal_eval(getfed["fusers"])["members"] - if user_id in ast.literal_eval(getfed): + if user_id in list(set(ast.literal_eval(getfed))): return True else: return False @@ -344,7 +344,7 @@ def user_demote_fed(fed_id, user_id): fed_log = getfed["flog"] # Temp set try: - members = ast.literal_eval(ast.literal_eval(getfed["fusers"])["members"]) + members = list(set(ast.literal_eval(ast.literal_eval(getfed["fusers"])["members"]))) except ValueError: return False members.remove(user_id) @@ -394,7 +394,7 @@ def user_join_fed(fed_id, user_id): fed_rules = getfed["frules"] fed_log = getfed["flog"] # Temp set - members = ast.literal_eval(ast.literal_eval(getfed["fusers"])["members"]) + members = list(set(ast.literal_eval(ast.literal_eval(getfed["fusers"])["members"]))) members.append(user_id) # Set user FEDERATION_BYOWNER[str(owner_id)]["fusers"] = str( @@ -456,7 +456,7 @@ def all_fed_users(fed_id): if getfed is None: return False fed_owner = ast.literal_eval(ast.literal_eval(getfed["fusers"])["owner"]) - fed_admins = ast.literal_eval(ast.literal_eval(getfed["fusers"])["members"]) + fed_admins = list(set(ast.literal_eval(ast.literal_eval(getfed["fusers"])["members"]))) fed_admins.append(fed_owner) return fed_admins @@ -464,7 +464,7 @@ def all_fed_users(fed_id): def all_fed_members(fed_id): with FEDS_LOCK: getfed = FEDERATION_BYFEDID.get(str(fed_id)) - fed_admins = ast.literal_eval(ast.literal_eval(getfed["fusers"])["members"]) + fed_admins = list(set(ast.literal_eval(ast.literal_eval(getfed["fusers"])["members"]))) return fed_admins From d6a4b55d8b302864839992b79b84f717df065761 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Mon, 21 Apr 2025 10:16:09 -0300 Subject: [PATCH 145/153] feds: Escape federation name when HTML is used --- AstrakoBot/modules/feds.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/AstrakoBot/modules/feds.py b/AstrakoBot/modules/feds.py index d084114093..6949e5a6c8 100644 --- a/AstrakoBot/modules/feds.py +++ b/AstrakoBot/modules/feds.py @@ -128,7 +128,7 @@ def new_fed(update: Update, context: CallbackContext): try: bot.send_message( EVENT_LOGS, - "New Federation: {}\nID:

    {}
    ".format(fed_name, fed_id), + "New Federation: {}\nID:
    {}
    ".format(escape(str(fed_name)), fed_id), parse_mode=ParseMode.HTML, ) except: @@ -689,7 +689,7 @@ def fed_ban(update: Update, context: CallbackContext): "\nUser: {}" "\nUser ID: {}" "\nReason: {}".format( - fed_name, + escape(str(fed_name)), mention_html(user.id, user.first_name), user_target, fban_user_id, @@ -708,7 +708,7 @@ def fed_ban(update: Update, context: CallbackContext): "\nUser: {}" "\nUser ID: {}" "\nReason: {}".format( - fed_name, + escape(str(fed_name)), mention_html(user.id, user.first_name), user_target, fban_user_id, @@ -735,7 +735,7 @@ def fed_ban(update: Update, context: CallbackContext): "\nUser: {}" "\nUser ID: {}" "\nReason: {}".format( - fed_name, + escape(str(fed_name)), mention_html(user.id, user.first_name), user_target, fban_user_id, @@ -762,7 +762,7 @@ def fed_ban(update: Update, context: CallbackContext): "\nFederation Admin: {}" \ "\nUser: {}" \ "\nUser ID: {}" \ - "\nReason: {}".format(fed_name, mention_html(user.id, user.first_name), user_target, fban_user_id, reason), parse_mode="HTML") + "\nReason: {}".format(escape(str(fed_name)), mention_html(user.id, user.first_name), user_target, fban_user_id, reason), parse_mode="HTML") """ bot.ban_chat_member(fedschat, fban_user_id) except BadRequest as excp: @@ -805,7 +805,7 @@ def fed_ban(update: Update, context: CallbackContext): "\nFederation Admin: {}" \ "\nUser: {}" \ "\nUser ID: {}" \ - "\nReason: {}".format(fed_name, mention_html(user.id, user.first_name), user_target, fban_user_id, reason), + "\nReason: {}".format(escape(str(fed_name)), mention_html(user.id, user.first_name), user_target, fban_user_id, reason), html=True) """ @@ -906,7 +906,7 @@ def fed_ban(update: Update, context: CallbackContext): "\nUser: {}" "\nUser ID: {}" "\nReason: {}".format( - fed_name, + escape(str(fed_name)), mention_html(user.id, user.first_name), user_target, fban_user_id, @@ -931,7 +931,7 @@ def fed_ban(update: Update, context: CallbackContext): "\nUser: {}" "\nUser ID: {}" "\nReason: {}".format( - fed_name, + escape(str(fed_name)), mention_html(user.id, user.first_name), user_target, fban_user_id, @@ -953,7 +953,7 @@ def fed_ban(update: Update, context: CallbackContext): "\nUser: {}" "\nUser ID: {}" "\nReason: {}".format( - fed_name, + escape(str(fed_name)), mention_html(user.id, user.first_name), user_target, fban_user_id, @@ -982,7 +982,7 @@ def fed_ban(update: Update, context: CallbackContext): "\nFederation Admin: {}" \ "\nUser: {}" \ "\nUser ID: {}" \ - "\nReason: {}".format(fed_name, mention_html(user.id, user.first_name), user_target, fban_user_id, reason), parse_mode="HTML") + "\nReason: {}".format(escape(str(fed_name)), mention_html(user.id, user.first_name), user_target, fban_user_id, reason), parse_mode="HTML") """ bot.ban_chat_member(fedschat, fban_user_id) except BadRequest as excp: @@ -1018,7 +1018,7 @@ def fed_ban(update: Update, context: CallbackContext): "\nFederation Admin: {}" \ "\nUser: {}" \ "\nUser ID: {}" \ - "\nReason: {}".format(fed_name, mention_html(user.id, user.first_name), user_target, fban_user_id, reason), + "\nReason: {}".format(escape(str(fed_name)), mention_html(user.id, user.first_name), user_target, fban_user_id, reason), html=True) """ From 10d21f50837a099e603f00870cfec92f71f4b186 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Mon, 21 Apr 2025 10:20:18 -0300 Subject: [PATCH 146/153] purge: Remove duplicated call --- AstrakoBot/modules/purge.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/AstrakoBot/modules/purge.py b/AstrakoBot/modules/purge.py index d99b6ac489..5a480d9016 100644 --- a/AstrakoBot/modules/purge.py +++ b/AstrakoBot/modules/purge.py @@ -48,9 +48,6 @@ async def purge_messages(event): messages.append(event.reply_to_msg_id) for msg_id in range(message_id, delete_to + 1): messages.append(msg_id) - if len(messages) == 100: - await event.client.delete_messages(event.chat_id, messages) - messages = [] try: await event.client.delete_messages(event.chat_id, messages) From 387c7bc1a09cb93df2bfb2fd87176699629cfdb7 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Mon, 21 Apr 2025 10:25:48 -0300 Subject: [PATCH 147/153] Revert "quotly: Also accept /q" This reverts commit d14fbd1586602471a4c7963db04d6c7fb9e14585. Until a rewrite is done --- AstrakoBot/modules/quotly.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/quotly.py b/AstrakoBot/modules/quotly.py index 60d724d5e5..28be9c80ed 100644 --- a/AstrakoBot/modules/quotly.py +++ b/AstrakoBot/modules/quotly.py @@ -415,7 +415,7 @@ async def replied_user(draw, tot, text, maxlength, title): space += textfont.getsize(letter)[0] -@telethn.on(events.NewMessage(pattern="^[!/](quotly|q)$")) +@telethn.on(events.NewMessage(pattern="^[!/]quotly$")) async def quotly(event): if event.fwd_from: return From a44703696bacebdd21a0f00b895aed7b71448707 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Mon, 21 Apr 2025 10:42:13 -0300 Subject: [PATCH 148/153] disable: Handle no id --- AstrakoBot/modules/disable.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AstrakoBot/modules/disable.py b/AstrakoBot/modules/disable.py index a94207f467..2921b1f432 100644 --- a/AstrakoBot/modules/disable.py +++ b/AstrakoBot/modules/disable.py @@ -65,7 +65,7 @@ def check_update(self, update): return None chat = update.effective_chat user = update.effective_user - if user.id == 1087968824: + if not user.id or user.id == 1087968824: user_id = chat.id else: user_id = user.id From 7faf16b42976ff5f7c53afeb9284d55c16e18ef2 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Mon, 21 Apr 2025 11:01:17 -0300 Subject: [PATCH 149/153] userinfo: Fix ginfo --- AstrakoBot/modules/userinfo.py | 154 +++++++++++++++++++++++++++------ 1 file changed, 127 insertions(+), 27 deletions(-) diff --git a/AstrakoBot/modules/userinfo.py b/AstrakoBot/modules/userinfo.py index 4b30c1acef..e89e572555 100644 --- a/AstrakoBot/modules/userinfo.py +++ b/AstrakoBot/modules/userinfo.py @@ -6,13 +6,20 @@ from telegram.user import User from telethon.tl.functions.channels import GetFullChannelRequest from telethon.tl.types import ChannelParticipantsAdmins -from telethon import events +from telethon import events, types from telegram import MAX_MESSAGE_LENGTH, ParseMode, Update, MessageEntity from telegram.ext import CallbackContext, CommandHandler, Filters from telegram.ext.dispatcher import run_async from telegram.error import BadRequest from telegram.utils.helpers import escape_markdown, mention_html +from telethon.errors import ( + ChannelInvalidError, + ChannelPrivateError, + ChatAdminRequiredError, + PeerIdInvalidError, + UserNotParticipantError, +) from AstrakoBot import ( DEV_USERS, @@ -87,37 +94,130 @@ def get_id(update: Update, context: CallbackContext): events.NewMessage(pattern="/ginfo ", from_users=(SUDO_USERS or []) + (SUPPORT_USERS or [])) ) async def group_info(event) -> None: - chat = event.text.split(" ", 1)[1] + target_entity = None + entity_id_str = None + + if event.is_reply: + replied_msg = await event.get_reply_message() + if replied_msg and replied_msg.sender_id: + target_entity = replied_msg.sender_id + entity_id_str = str(target_entity) + else: + await event.reply("Could not identify the user from the replied message.") + return + else: + parts = event.text.split(" ", 1) + if len(parts) > 1: + entity_id_str = parts[1].strip() + if entity_id_str.startswith('@'): + target_entity = entity_id_str + else: + try: + target_entity = int(entity_id_str) + except ValueError: + await event.reply("Invalid ID or username format.") + return + else: + target_entity = event.chat_id + entity_id_str = str(target_entity) + + if target_entity is None: + await event.reply("Could not determine the target entity.") + return + try: - entity = await event.client.get_entity(chat) - totallist = await event.client.get_participants( - entity, filter=ChannelParticipantsAdmins - ) - ch_full = await event.client(GetFullChannelRequest(channel=entity)) - except: + entity = await event.client.get_entity(target_entity) + except (ValueError, PeerIdInvalidError, ChannelInvalidError, ChannelPrivateError) as e: await event.reply( - "Can't for some reason, maybe it is a private one or that I am banned there." + f"Could not find or access the specified chat/channel (`{entity_id_str}`). " + "It might be invalid, private, or I might lack permissions." ) return - msg = f"**ID**: `{entity.id}`" - msg += f"\n**Title**: `{entity.title}`" - msg += f"\n**Datacenter**: `{entity.photo.dc_id}`" - msg += f"\n**Video PFP**: `{entity.photo.has_video}`" - msg += f"\n**Supergroup**: `{entity.megagroup}`" - msg += f"\n**Restricted**: `{entity.restricted}`" - msg += f"\n**Scam**: `{entity.scam}`" - msg += f"\n**Slowmode**: `{entity.slowmode_enabled}`" - if entity.username: - msg += f"\n**Username**: {entity.username}" - msg += "\n\n**Member Stats:**" - msg += f"\n`Admins:` `{len(totallist)}`" - msg += f"\n`Users`: `{totallist.total}`" - msg += "\n\n**Admins List:**" - for x in totallist: - msg += f"\n• [{x.id}](tg://user?id={x.id})" - msg += f"\n\n**Description**:\n`{ch_full.full_chat.about}`" - await event.reply(msg) + except Exception as e: + await event.reply(f"An unexpected error occurred while fetching info for `{entity_id_str}`.") + return + + msg = f"**Info for:** `{entity_id_str}`\n" + msg += f"**Type:** `{type(entity).__name__}`\n" + msg += f"**ID:** `{entity.id}`\n" + + if isinstance(entity, (types.Chat, types.Channel)): + msg += f"**Title:** `{entity.title}`\n" + if hasattr(entity, 'username') and entity.username: + msg += f"**Username:** @{entity.username}\n" + else: + msg += f"**Username:** `None`\n" + + if hasattr(entity.photo, 'dc_id'): + msg += f"**Photo DC:** `{entity.photo.dc_id}`\n" + if hasattr(entity.photo, 'has_video'): + msg += f"**Video PFP:** `{entity.photo.has_video}`\n" + + msg += f"**Scam:** `{getattr(entity, 'scam', 'N/A')}`\n" + msg += f"**Restricted:** `{getattr(entity, 'restricted', 'N/A')}`\n" + if getattr(entity, 'restriction_reason', None): + msg += f"**Restriction Reason:** `{entity.restriction_reason}`\n" + + if isinstance(entity, types.Channel): + msg += f"**Supergroup:** `{entity.megagroup}`\n" + msg += f"**Broadcast Channel:** `{entity.broadcast}`\n" + msg += f"**Verified:** `{entity.verified}`\n" + msg += f"**Gigagroup:** `{getattr(entity, 'gigagroup', 'N/A')}`\n" + msg += f"**Slowmode Enabled:** `{entity.slowmode_enabled}`\n" + + full_chat_info = None + admin_list = [] + participant_count = "N/A" + admin_count = "N/A" + about = "N/A" + + try: + if isinstance(entity, types.Channel): + full_chat_info = await event.client(GetFullChannelRequest(channel=entity)) + about = full_chat_info.full_chat.about + participant_count = getattr(full_chat_info.full_chat, 'participants_count', 'N/A') + elif isinstance(entity, types.Chat): + full_chat_info = await event.client(GetFullChatRequest(chat_id=entity.id)) + about = getattr(full_chat_info.full_chat, 'about', 'N/A') + if hasattr(full_chat_info, 'users'): + participant_count = len(full_chat_info.users) + + try: + admins = await event.client.get_participants( + entity, filter=ChannelParticipantsAdmins + ) + admin_count = len(admins) if admins else 0 # Handle None case + admin_list = [f"• [{admin.id}](tg://user?id={admin.id})" for admin in admins] + except ChatAdminRequiredError: + admin_list.append("_(Admin permissions required to list)_") + admin_count = "N/A (No Perms)" + except UserNotParticipantError: + admin_list.append("_(Bot is not in this chat/channel)_") + admin_count = "N/A (Not Participant)" + except Exception as e: + admin_list.append("_(Could not retrieve admin list)_") + admin_count = "N/A (Error)" + + + msg += "\n**Stats:**\n" + msg += f"`Participants:` `{participant_count}`\n" + msg += f"`Admins:` `{admin_count}`\n" + + if admin_list: + msg += "\n**Admins List:**" + msg += "\n" + "\n".join(admin_list) # Join list items with newlines + + msg += f"\n\n**Description:**\n`{about}`" + + except (ChatAdminRequiredError, UserNotParticipantError) as e: + msg += "\n\n**(Could not retrieve full details like description or participant counts due to permissions or bot not being a participant)**" + except Exception as e: + msg += "\n\n**(An error occurred while retrieving full details)**" + + else: + msg += "\n**(Unsupported entity type)**" + await event.reply(msg, link_preview=False) def gifid(update: Update, context: CallbackContext): msg = update.effective_message From 015a511e93182f1d587b140d7f35dd337e5c92d0 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Mon, 21 Apr 2025 14:00:00 -0300 Subject: [PATCH 150/153] feds: Escape some more calls --- AstrakoBot/modules/feds.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/AstrakoBot/modules/feds.py b/AstrakoBot/modules/feds.py index 6949e5a6c8..ec15812921 100644 --- a/AstrakoBot/modules/feds.py +++ b/AstrakoBot/modules/feds.py @@ -228,7 +228,7 @@ def fed_chat(update: Update, context: CallbackContext): info = sql.get_fed_info(fed_id) text = "This group is part of the following federation:" - text += "\n{} (ID: {})".format(info["fname"], fed_id) + text += "\n{} (ID: {})".format(escape(str(info["fname"])), fed_id) update.effective_message.reply_text(text, parse_mode=ParseMode.HTML) @@ -475,7 +475,7 @@ def fed_info(update: Update, context: CallbackContext): text = "ℹ️ Federation Information:" text += "\nFedID: {}".format(fed_id) - text += "\nName: {}".format(info["fname"]) + text += "\nName: {}".format(escape(str(info["fname"]))) text += "\nCreator: {}".format(mention_html(owner.id, owner_name)) text += "\nAll Admins: {}".format(TotalAdminFed) getfban = sql.get_all_fban_users(fed_id) @@ -514,7 +514,7 @@ def fed_admin(update: Update, context: CallbackContext): chat = update.effective_chat info = sql.get_fed_info(fed_id) - text = "Federation Admin {}:\n\n".format(info["fname"]) + text = "Federation Admin {}:\n\n".format(escape(str(info["fname"]))) text += "👑 Owner:\n" owner = bot.get_chat(info["owner"]) try: @@ -1172,7 +1172,7 @@ def unfban(update: Update, context: CallbackContext): "\nFederation Admin: {}" "\nUser: {}" "\nUser ID: {}".format( - info["fname"], + escape(str(info["fname"])), mention_html(user.id, user.first_name), user_target, fban_user_id, @@ -1189,7 +1189,7 @@ def unfban(update: Update, context: CallbackContext): "\nFederation Admin: {}" "\nUser: {}" "\nUser ID: {}".format( - info["fname"], + escape(str(info["fname"])), mention_html(user.id, user.first_name), user_target, fban_user_id, @@ -1210,7 +1210,7 @@ def unfban(update: Update, context: CallbackContext): "\nFederation Admin: {}" "\nUser: {}" "\nUser ID: {}".format( - info["fname"], + escape(str(info["fname"])), mention_html(user.id, user.first_name), user_target, fban_user_id, @@ -1484,7 +1484,7 @@ def fed_ban_list(update: Update, context: CallbackContext): getfban = sql.get_all_fban_users(fed_id) if len(getfban) == 0: update.effective_message.reply_text( - "The federation ban list of {} is empty".format(info["fname"]), + "The federation ban list of {} is empty".format(escape(str(info["fname"]))), parse_mode=ParseMode.HTML, ) return @@ -1581,13 +1581,13 @@ def fed_ban_list(update: Update, context: CallbackContext): return text = "{} users have been banned from the federation {}:\n".format( - len(getfban), info["fname"] + len(getfban), escape(str(info["fname"])) ) for users in getfban: getuserinfo = sql.get_all_fban_users_target(fed_id, users) if getuserinfo is False: text = "There are no users banned from the federation {}".format( - info["fname"] + escape(str(info["fname"])) ) break user_name = getuserinfo["first_name"] @@ -1697,12 +1697,12 @@ def fed_chats(update: Update, context: CallbackContext): getlist = sql.all_fed_chats(fed_id) if len(getlist) == 0: update.effective_message.reply_text( - "No users are fbanned from the federation {}".format(info["fname"]), + "No users are fbanned from the federation {}".format(escape(str(info["fname"]))), parse_mode=ParseMode.HTML, ) return - text = "New chat joined the federation {}:\n".format(info["fname"]) + text = "New chat joined the federation {}:\n".format(escape(str(info["fname"]))) for chats in getlist: try: chat_name = dispatcher.bot.getChat(chats).title From e14d574451bb5e3c9e0c8aaae54750cc938afae7 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Fri, 25 Apr 2025 10:28:01 -0300 Subject: [PATCH 151/153] chat_status: Do not reply to unprivileged users --- AstrakoBot/modules/helper_funcs/chat_status.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/AstrakoBot/modules/helper_funcs/chat_status.py b/AstrakoBot/modules/helper_funcs/chat_status.py index 0d689f089e..1d2021b454 100644 --- a/AstrakoBot/modules/helper_funcs/chat_status.py +++ b/AstrakoBot/modules/helper_funcs/chat_status.py @@ -110,11 +110,6 @@ def is_dev_plus_func(update: Update, context: CallbackContext, *args, **kwargs): update.effective_message.delete() except: pass - else: - update.effective_message.reply_text( - "This is a developer restricted command." - " You do not have permissions to run this." - ) return is_dev_plus_func @@ -147,10 +142,6 @@ def is_sudo_plus_func(update: Update, context: CallbackContext, *args, **kwargs) update.effective_message.delete() except: pass - else: - update.effective_message.reply_text( - "Who dis non-admin telling me what to do? You want a punch?" - ) return is_sudo_plus_func From 2d30efd5752c3ba54cb8d7d89f26310a42341be2 Mon Sep 17 00:00:00 2001 From: Gabriel2392 Date: Wed, 7 May 2025 14:48:17 -0300 Subject: [PATCH 152/153] feds: Remove admin check for fedinfo --- AstrakoBot/modules/feds.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/AstrakoBot/modules/feds.py b/AstrakoBot/modules/feds.py index ec15812921..4fc667490c 100644 --- a/AstrakoBot/modules/feds.py +++ b/AstrakoBot/modules/feds.py @@ -457,10 +457,6 @@ def fed_info(update: Update, context: CallbackContext): return info = sql.get_fed_info(fed_id) - if is_user_fed_admin(fed_id, user.id) is False: - update.effective_message.reply_text("Only a federation admin can do this!") - return - owner = bot.get_chat(info["owner"]) try: owner_name = owner.first_name + " " + owner.last_name From 528a5ccb620ac7a56487ef5cc7a20ed716ff3d7c Mon Sep 17 00:00:00 2001 From: Gabriel Date: Wed, 21 May 2025 06:58:28 -0300 Subject: [PATCH 153/153] Allow disabling android cmds --- AstrakoBot/modules/android.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/AstrakoBot/modules/android.py b/AstrakoBot/modules/android.py index 08fcaa5aad..f66acb3b79 100644 --- a/AstrakoBot/modules/android.py +++ b/AstrakoBot/modules/android.py @@ -7,7 +7,7 @@ from bs4 import BeautifulSoup from requests import get from telegram import Bot, Update, ParseMode, InlineKeyboardMarkup, InlineKeyboardButton -from telegram.ext import Updater, CommandHandler, MessageHandler +from telegram.ext import Updater, MessageHandler from telegram.ext import CallbackContext, run_async from ujson import loads from yaml import load, Loader @@ -16,6 +16,7 @@ from AstrakoBot.modules.sql.clear_cmd_sql import get_clearcmd from AstrakoBot.modules.github import getphh from AstrakoBot.modules.helper_funcs.misc import delete +from AstrakoBot.modules.disable import DisableAbleCommandHandler rget_headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36" @@ -378,14 +379,14 @@ def twrp(update: Update, context: CallbackContext): • `/getfw ` - Samsung only - gets firmware download links from samfrew, sammobile and sfirmwares for the given device """ -MAGISK_HANDLER = CommandHandler(["magisk", "root", "su"], magisk, run_async=True) -KERNELSU_HANDLER = CommandHandler("kernelsu", kernelsu, run_async=True) -ORANGEFOX_HANDLER = CommandHandler("orangefox", orangefox, run_async=True) -TWRP_HANDLER = CommandHandler("twrp", twrp, run_async=True) -GETFW_HANDLER = CommandHandler("getfw", getfw, run_async=True) -CHECKFW_HANDLER = CommandHandler("checkfw", checkfw, run_async=True) -PHH_HANDLER = CommandHandler("phh", phh, run_async=True) -MIUI_HANDLER = CommandHandler("miui", miui, run_async=True) +MAGISK_HANDLER = DisableAbleCommandHandler(["magisk", "root", "su"], magisk, run_async=True) +KERNELSU_HANDLER = DisableAbleCommandHandler("kernelsu", kernelsu, run_async=True) +ORANGEFOX_HANDLER = DisableAbleCommandHandler("orangefox", orangefox, run_async=True) +TWRP_HANDLER = DisableAbleCommandHandler("twrp", twrp, run_async=True) +GETFW_HANDLER = DisableAbleCommandHandler("getfw", getfw, run_async=True) +CHECKFW_HANDLER = DisableAbleCommandHandler("checkfw", checkfw, run_async=True) +PHH_HANDLER = DisableAbleCommandHandler("phh", phh, run_async=True) +MIUI_HANDLER = DisableAbleCommandHandler("miui", miui, run_async=True) dispatcher.add_handler(MAGISK_HANDLER) dispatcher.add_handler(KERNELSU_HANDLER)