diff --git a/modules/admlist.py b/modules/admlist.py index 52d6b06..d02a8e6 100644 --- a/modules/admlist.py +++ b/modules/admlist.py @@ -29,7 +29,7 @@ from utils.scripts import format_exc @Client.on_message(filters.command("admcount", prefix) & filters.me) async def admcount(client: Client, message: Message): - await message.edit("Retrieving information... (it'll take some time)") + await message.edit("Retrieving information... (it'll take some time)", parse_mode=enums.ParseMode.HTML) start = perf_counter() try: @@ -52,10 +52,11 @@ async def admcount(client: Client, message: Message): except Exception as e: if isinstance(e, FloodWait): await message.edit( - f"[{e.x}: {enums.MessageType.TEXT}] - {e.y}" + f"[{e.x}: {enums.MessageType.TEXT}] - {e.y}", + parse_mode=enums.ParseMode.HTML ) else: - await message.edit(format_exc(e)) + await message.edit(format_exc(e), parse_mode=enums.ParseMode.HTML) return stop = perf_counter() @@ -66,13 +67,14 @@ async def admcount(client: Client, message: Message): f"Owned chats: {owned_chats}\n" f"Owned chats with username: {owned_usernamed_chats}\n\n" f"Done at {round(stop - start, 3)} seconds.\n\n" - f"Get full list: {prefix}admlist" + f"Get full list: {prefix}admlist", + parse_mode=enums.ParseMode.HTML ) @Client.on_message(filters.command("admlist", prefix) & filters.me) async def admlist(client: Client, message: Message): - await message.edit("Retrieving information... (it'll take some time)") + await message.edit("Retrieving information... (it'll take some time)", parse_mode=enums.ParseMode.HTML) start = perf_counter() try: @@ -121,15 +123,17 @@ async def admlist(client: Client, message: Message): f"\nAdminned chats: {len(adminned_chats)}\n" f"Owned chats: {len(owned_chats)}\n" f"Owned chats with username: {len(owned_usernamed_chats)}\n\n" - f"Done at {round(stop - start, 3)} seconds." + f"Done at {round(stop - start, 3)} seconds.", + parse_mode=enums.ParseMode.HTML ) except Exception as e: if isinstance(e, FloodWait): await message.edit( - f"[{e.x}: {enums.MessageType.TEXT}] - {e.y}" + f"[{e.x}: {enums.MessageType.TEXT}] - {e.y}", + parse_mode=enums.ParseMode.HTML ) else: - await message.edit(format_exc(e)) + await message.edit(format_exc(e), parse_mode=enums.ParseMode.HTML) return diff --git a/modules/afk.py b/modules/afk.py index 391c8ce..f7defd7 100644 --- a/modules/afk.py +++ b/modules/afk.py @@ -153,7 +153,7 @@ async def afk_unset(bot: Client, message: Message): await message.edit( f"`While you were away (for {last_seen}), you received {sum(USERS.values()) + sum(GROUPS.values())} " f"messages from {len(USERS) + len(GROUPS)} chats`", - parse_mode=enums.ParseMode.HTML, + parse_mode=enums.ParseMode.HTML ) AFK = False AFK_TIME = "" diff --git a/modules/example.py b/modules/example.py index b4a1b65..071ff02 100644 --- a/modules/example.py +++ b/modules/example.py @@ -32,10 +32,11 @@ from utils.misc import modules_help, prefix @Client.on_message(filters.command("example_edit", prefix) & filters.me) async def example_edit(client: Client, message: Message): try: - await message.edit("This is an example module") + await message.edit("This is an example module", parse_mode=enums.ParseMode.HTML) except Exception as e: await message.edit( - f"[{e.error_code}: {enums.MessageType.TEXT}] - {e.error_details}" + f"[{e.error_code}: {enums.MessageType.TEXT}] - {e.error_details}", + parse_mode=enums.ParseMode.HTML ) @@ -45,7 +46,8 @@ async def example_send(client: Client, message: Message): await client.send_message(message.chat.id, "This is an example module") except Exception as e: await message.edit( - f"[{e.error_code}: {enums.MessageType.TEXT}] - {e.error_details}" + f"[{e.error_code}: {enums.MessageType.TEXT}] - {e.error_details}", + parse_mode=enums.ParseMode.HTML ) diff --git a/modules/filters.py b/modules/filters.py index 08ce42c..5b1fe1f 100644 --- a/modules/filters.py +++ b/modules/filters.py @@ -237,7 +237,7 @@ async def filters_handler(client: Client, message: Message): text = text[:4096] return await message.edit(text, parse_mode=enums.ParseMode.HTML) except Exception as e: - return await message.edit(format_exc(e)) + return await message.edit(format_exc(e), parse_mode=enums.ParseMode.HTML) @Client.on_message( @@ -264,7 +264,7 @@ async def filter_del_handler(client: Client, message: Message): parse_mode=enums.ParseMode.HTML, ) except Exception as e: - return await message.edit(format_exc(e)) + return await message.edit(format_exc(e), parse_mode=enums.ParseMode.HTML) @Client.on_message(filters.command(["fsearch"], prefix) & filters.me) @@ -288,7 +288,7 @@ async def filter_search_handler(client: Client, message: Message): parse_mode=enums.ParseMode.HTML, ) except Exception as e: - return await message.edit(format_exc(e)) + return await message.edit(format_exc(e), parse_mode=enums.ParseMode.HTML) modules_help["filters"] = { diff --git a/modules/loader.py b/modules/loader.py index 571a91e..f54a371 100644 --- a/modules/loader.py +++ b/modules/loader.py @@ -129,6 +129,7 @@ async def loadmod(_, message: Message): "" "custom_modules repository are supported!", disable_web_page_preview=True, + parse_mode=enums.ParseMode.HTML ) else: os.rename(file_name, f"./modules/custom_modules/{module_name}.py") @@ -190,22 +191,23 @@ async def load_all_mods(_, message: Message): continue new_modules[module_info["name"][:-3]] = module_info["download_url"] if not new_modules: - return await message.edit("All modules already loaded") + return await message.edit("All modules already loaded", parse_mode=enums.ParseMode.HTML) - await message.edit(f'Loading new modules: {" ".join(new_modules.keys())}') + await message.edit(f'Loading new modules: {" ".join(new_modules.keys())}', parse_mode=enums.ParseMode.HTML) for name, url in new_modules.items(): with open(f"./modules/custom_modules/{name}.py", "wb") as f: f.write(requests.get(url).content) await message.edit( - f'Successfully loaded new modules: {" ".join(new_modules.keys())}' + f'Successfully loaded new modules: {" ".join(new_modules.keys())}', + parse_mode=enums.ParseMode.HTML ) restart() @Client.on_message(filters.command(["updateallmods"], prefix) & filters.me) async def updateallmods(_, message: Message): - await message.edit("Updating modules...") + await message.edit("Updating modules...", parse_mode=enums.ParseMode.HTML) if not os.path.exists(f"{BASE_PATH}/modules/custom_modules"): os.mkdir(f"{BASE_PATH}/modules/custom_modules") @@ -213,7 +215,7 @@ async def updateallmods(_, message: Message): modules_installed = list(os.walk("modules/custom_modules"))[0][2] if not modules_installed: - return await message.edit("You don't have any modules installed") + return await message.edit("You don't have any modules installed", parse_mode=enums.ParseMode.HTML) for module_name in modules_installed: if not module_name.endswith(".py"): @@ -229,7 +231,7 @@ async def updateallmods(_, message: Message): with open(f"./modules/custom_modules/{module_name}", "wb") as f: f.write(resp.content) - await message.edit(f"Successfully updated {len(modules_installed)} modules") + await message.edit(f"Successfully updated {len(modules_installed)} modules", parse_mode=enums.ParseMode.HTML) modules_help["loader"] = { diff --git a/modules/notes.py b/modules/notes.py index ccd61b8..198c7dd 100644 --- a/modules/notes.py +++ b/modules/notes.py @@ -242,13 +242,13 @@ async def save_note(client: Client, message: Message): @Client.on_message(filters.command(["notes"], prefix) & filters.me) async def notes(_, message: Message): - await message.edit("Loading...") + await message.edit("Loading...", parse_mode=enums.ParseMode.HTML) text = "Available notes:\n\n" collection = db.get_collection("core.notes") for note in collection.keys(): if note[:4] == "note": text += f"{note[4:]}\n" - await message.edit(text) + await message.edit(text, parse_mode=enums.ParseMode.HTML) @Client.on_message(filters.command(["clear"], prefix) & filters.me) diff --git a/modules/python.py b/modules/python.py index 5ac53b6..98d173d 100644 --- a/modules/python.py +++ b/modules/python.py @@ -47,7 +47,7 @@ def user_exec(client: Client, message: Message): code = message.text.split(maxsplit=1)[1] stdout = StringIO() - message.edit("Executing...") + message.edit("Executing...", parse_mode=enums.ParseMode.HTML) try: with redirect_stdout(stdout): @@ -70,7 +70,7 @@ def user_exec(client: Client, message: Message): @Client.on_message(filters.command(["ev", "eval"], prefix) & filters.me) def user_eval(client: Client, message: Message): if len(message.command) == 1: - message.edit("Code to eval isn't provided") + message.edit("Code to eval isn't provided", parse_mode=enums.ParseMode.HTML) return reply = message.reply_to_message diff --git a/modules/shell.py b/modules/shell.py index e1adbf2..2d3261d 100644 --- a/modules/shell.py +++ b/modules/shell.py @@ -45,7 +45,7 @@ from utils.misc import modules_help, prefix @Client.on_message(filters.command(["shell", "sh"], prefix) & filters.me) async def shell(_, message: Message): if len(message.command) < 2: - return await message.edit("Specify the command in message text") + return await message.edit("Specify the command in message text", parse_mode=enums.ParseMode.HTML) cmd_text = message.text.split(maxsplit=1)[1] cmd_args = shlex.split(cmd_text) cmd_obj = subprocess.Popen( diff --git a/modules/sqoutes.py b/modules/sqoutes.py deleted file mode 100644 index beeb2b4..0000000 --- a/modules/sqoutes.py +++ /dev/null @@ -1,16 +0,0 @@ -from pyrogram import Client -from pyrogram import enums as enums -from pyrogram import filters, types - -from utils.misc import prefix - - -@Client.on_message(filters.command("sqoute", prefix) & filters.me) -async def sqoute(client: Client, message: types.Message): - if len(message.command) < 2: - return await message.edit( - "No arguments provided", parse_mode=enums.ParseMode.HTML - ) - text = message.text.split(maxsplit=1)[1] - await message.delete() - await client.send_message(message.chat.id, text, parse_mode=enums.ParseMode.HTML) diff --git a/modules/squotes.py b/modules/squotes.py index 12c9438..adcf3a1 100644 --- a/modules/squotes.py +++ b/modules/squotes.py @@ -19,7 +19,7 @@ import os from io import BytesIO import requests -from pyrogram import Client, filters, errors, types +from pyrogram import Client, filters, errors, types, enums from utils.misc import modules_help, prefix from utils.scripts import with_reply, format_exc, resize_image @@ -60,9 +60,9 @@ async def quote_cmd(client: Client, message: types.Message): if send_for_me: await message.delete() - message = await client.send_message("me", "Generating...") + message = await client.send_message("me", "Generating...", parse_mode=enums.ParseMode.HTML) else: - await message.edit("Generating...") + await message.edit("Generating...", parse_mode=enums.ParseMode.HTML) url = "https://quotes.fl1yd.su/generate" params = { @@ -76,20 +76,21 @@ async def quote_cmd(client: Client, message: types.Message): response = requests.post(url, json=params) if not response.ok: return await message.edit( - f"Quotes API error!\n" f"{response.text}" + f"Quotes API error!\n" f"{response.text}", + parse_mode=enums.ParseMode.HTML ) resized = resize_image( BytesIO(response.content), img_type="PNG" if is_png else "WEBP" ) - await message.edit("Sending...") + await message.edit("Sending...", parse_mode=enums.ParseMode.HTML) try: func = client.send_document if is_png else client.send_sticker chat_id = "me" if send_for_me else message.chat.id await func(chat_id, resized) except errors.RPCError as e: # no rights to send stickers, etc - await message.edit(format_exc(e)) + await message.edit(format_exc(e), parse_mode=enums.ParseMode.HTML) else: await message.delete() @@ -110,7 +111,7 @@ async def fake_quote_cmd(client: Client, message: types.Message): ) if not fake_quote_text: - return await message.edit("Fake quote text is empty") + return await message.edit("Fake quote text is empty", parse_mode=enums.ParseMode.HTML) q_message = await client.get_messages( message.chat.id, message.reply_to_message.message_id @@ -124,7 +125,7 @@ async def fake_quote_cmd(client: Client, message: types.Message): await message.delete() message = await client.send_message("me", "Generating...") else: - await message.edit("Generating...") + await message.edit("Generating...", parse_mode=enums.ParseMode.HTML) url = "https://quotes.fl1yd.su/generate" params = { @@ -136,20 +137,21 @@ async def fake_quote_cmd(client: Client, message: types.Message): response = requests.post(url, json=params) if not response.ok: return await message.edit( - f"Quotes API error!\n" f"{response.text}" + f"Quotes API error!\n" f"{response.text}", + parse_mode=enums.ParseMode.HTML ) resized = resize_image( BytesIO(response.content), img_type="PNG" if is_png else "WEBP" ) - await message.edit("Sending...") + await message.edit("Sending...", parse_mode=enums.ParseMode.HTML) try: func = client.send_document if is_png else client.send_sticker chat_id = "me" if send_for_me else message.chat.id await func(chat_id, resized) except errors.RPCError as e: # no rights to send stickers, etc - await message.edit(format_exc(e)) + await message.edit(format_exc(e), parse_mode=enums.ParseMode.HTML) else: await message.delete() diff --git a/modules/stickers.py b/modules/stickers.py index f269772..ee9b4b7 100644 --- a/modules/stickers.py +++ b/modules/stickers.py @@ -17,7 +17,7 @@ import os from io import BytesIO -from pyrogram import Client, filters, types +from pyrogram import Client, filters, types, enums from utils.misc import modules_help, prefix from utils.scripts import ( diff --git a/modules/switch.py b/modules/switch.py index cfad785..5a75f0c 100644 --- a/modules/switch.py +++ b/modules/switch.py @@ -14,7 +14,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -from pyrogram import Client, filters +from pyrogram import Client, filters, enums from pyrogram.types import Message from utils.misc import modules_help, prefix @@ -38,12 +38,12 @@ async def switch(client: Client, message: Message): if history and history[1].from_user.is_self and history[1].text: text = history[1].text else: - await message.edit("Text to switch not found") + await message.edit("Text to switch not found", parse_mode=enums.ParseMode.HTML) return else: text = message.text.split(maxsplit=1)[1] - await message.edit(str.translate(text, table)) + await message.edit(str.translate(text, table), parse_mode=enums.ParseMode.HTML) modules_help["switch"] = { diff --git a/modules/uplud.py b/modules/uplud.py new file mode 100644 index 0000000..b45f437 --- /dev/null +++ b/modules/uplud.py @@ -0,0 +1,32 @@ +import os + +from pyrogram import Client, enums, filters +from pyrogram.types import Message +from utils.misc import modules_help, prefix +from utils.scripts import format_exc + + +@Client.on_message(filters.command("upl", prefix) & filters.me) +async def urldl(client: Client, message: Message): + if len(message.command) > 1: + link = message.text.split(maxsplit=1)[1] + elif message.reply_to_message: + link = message.reply_to_message.text + else: + await message.edit( + f"Usage: {prefix}upl [filepath to upload]", + parse_mode=enums.ParseMode.HTML, + ) + return + + try: + await message.edit("Uploading Now...", parse_mode=enums.ParseMode.HTML) + await client.send_document(message.chat.id, link) + await message.delete() + except Exception as e: + await message.edit(format_exc(e), parse_mode=enums.ParseMode.HTML) + finally: + os.remove(link) + + +modules_help["uplud"] = {"upl": f"[filepath]/[reply to path]*"} \ No newline at end of file diff --git a/modules/url.py b/modules/url.py index a6a0281..bdfc1a9 100644 --- a/modules/url.py +++ b/modules/url.py @@ -15,7 +15,7 @@ # along with this program. If not, see . import os -from pyrogram import Client, filters +from pyrogram import Client, filters, enums from pyrogram.types import Message import requests from utils.misc import modules_help, prefix @@ -29,12 +29,12 @@ async def short(_, message: Message): elif message.reply_to_message: link = message.reply_to_message.text else: - await message.edit(f"Usage: {prefix}short [url to short]") + await message.edit(f"Usage: {prefix}short [url to short]", parse_mode=enums.ParseMode.HTML) return shortened = requests.get("https://clck.ru/--", data={"url": link}).text - await message.edit(shortened.replace("https://", ""), disable_web_page_preview=True) + await message.edit(shortened.replace("https://", ""), disable_web_page_preview=True, parse_mode=enums.ParseMode.HTML) @Client.on_message(filters.command("urldl", prefix) & filters.me) @@ -45,11 +45,12 @@ async def urldl(client: Client, message: Message): link = message.reply_to_message.text else: await message.edit( - f"Usage: {prefix}urldl [url to download]" + f"Usage: {prefix}urldl [url to download]", + parse_mode=enums.ParseMode.HTML ) return - await message.edit("Downloading...") + await message.edit("Downloading...", parse_mode=enums.ParseMode.HTML) file_name = "downloads/" + link.split("/")[-1] try: @@ -60,11 +61,11 @@ async def urldl(client: Client, message: Message): for chunk in resp.iter_content(chunk_size=8192): f.write(chunk) - await message.edit("Uploading...") + await message.edit("Uploading...", parse_mode=enums.ParseMode.HTML) await client.send_document(message.chat.id, file_name) await message.delete() except Exception as e: - await message.edit(format_exc(e)) + await message.edit(format_exc(e), parse_mode=enums.ParseMode.HTML) finally: os.remove(file_name) @@ -77,7 +78,7 @@ async def upload_cmd(_, message: Message): min_file_age = 31 max_file_age = 180 - await message.edit("Downloading...") + await message.edit("Downloading...", parse_mode=enums.ParseMode.HTML) try: file_name = await message.download() @@ -85,15 +86,15 @@ async def upload_cmd(_, message: Message): try: file_name = await message.reply_to_message.download() except ValueError: - await message.edit("File to upload not found") + await message.edit("File to upload not found", parse_mode=enums.ParseMode.HTML) return if os.path.getsize(file_name) > max_size: - await message.edit(f"Files longer than {max_size_mb}MB isn't supported") + await message.edit(f"Files longer than {max_size_mb}MB isn't supported", parse_mode=enums.ParseMode.HTML) os.remove(file_name) return - await message.edit("Uploading...") + await message.edit("Uploading...", parse_mode=enums.ParseMode.HTML) with open(file_name, "rb") as f: response = requests.post( "https://x0.at", @@ -111,9 +112,10 @@ async def upload_cmd(_, message: Message): await message.edit( f"Your URL: {url}\nYour file will live {file_age} days", disable_web_page_preview=True, + parse_mode=enums.ParseMode.HTML ) else: - await message.edit(f"API returned an error!\n" f"{response.text}") + await message.edit(f"API returned an error!\n" f"{response.text}", parse_mode=enums.ParseMode.HTML) os.remove(file_name) @@ -126,7 +128,7 @@ async def webshot(client: Client, message: Message): full_link = f"https://webshot.deam.io/{user_link}/?delay=2000" await client.send_document(message.chat.id, full_link, caption=f"{user_link}") except Exception as e: - await message.edit(format_exc(e)) + await message.edit(format_exc(e), parse_mode=enums.ParseMode.HTML) modules_help["url"] = { diff --git a/modules/user_info.py b/modules/user_info.py index 80c1f9b..565065b 100644 --- a/modules/user_info.py +++ b/modules/user_info.py @@ -14,7 +14,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -from pyrogram import Client, filters +from pyrogram import Client, filters, enums from pyrogram.raw import functions from pyrogram.types import Message