diff --git a/modules/admintool.py b/modules/admintool.py
index da7cdb7..64727d5 100644
--- a/modules/admintool.py
+++ b/modules/admintool.py
@@ -57,13 +57,9 @@ def update_cache():
@Client.on_message(filters.group & ~filters.me)
async def admintool_handler(_, message: Message):
- if (
- message.sender_chat
- and (
- message.sender_chat.type == "supergroup"
- or message.sender_chat.id
- == db_cache.get(f"linked{message.chat.id}", 0)
- )
+ if message.sender_chat and (
+ message.sender_chat.type == "supergroup"
+ or message.sender_chat.id == db_cache.get(f"linked{message.chat.id}", 0)
):
raise ContinuePropagation
@@ -90,9 +86,8 @@ async def admintool_handler(_, message: Message):
elif message.sender_chat:
await message.chat.ban_member(message.sender_chat.id)
- if (
- message.new_chat_members
- and db_cache.get(f"welcome_enabled{message.chat.id}", False)
+ if message.new_chat_members and db_cache.get(
+ f"welcome_enabled{message.chat.id}", False
):
await message.reply(
db_cache.get(f"welcome_text{message.chat.id}"),
@@ -257,9 +252,7 @@ async def ro(client: Client, message: Message):
db.set("core.ats", f"ro{message.chat.id}", perms_list)
try:
- await client.set_chat_permissions(
- message.chat.id, ChatPermissions()
- )
+ await client.set_chat_permissions(message.chat.id, ChatPermissions())
except (UserAdminInvalid, ChatAdminRequired):
await message.edit("No rights")
else:
diff --git a/modules/afk.py b/modules/afk.py
index 4f6a749..c79d977 100644
--- a/modules/afk.py
+++ b/modules/afk.py
@@ -134,7 +134,7 @@ async def afk_unset(_, 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",
-)
+ )
AFK = False
AFK_TIME = ""
AFK_REASON = ""
@@ -168,5 +168,3 @@ modules_help["afk"] = {
"afk [reason]": "Go to AFK mode with reason as anything after .afk\nUsage: .afk ",
"unafk": "Get out of AFK",
}
-
-
diff --git a/modules/aiutils.py b/modules/aiutils.py
index e8168fb..42e7057 100644
--- a/modules/aiutils.py
+++ b/modules/aiutils.py
@@ -15,13 +15,17 @@ api_url = "https://visioncraft.top"
async def fetch_models():
"""Get all available SDXL models"""
- async with aiohttp.ClientSession() as session, session.get("https://visioncraft.top/sd/models") as response:
+ async with aiohttp.ClientSession() as session, session.get(
+ "https://visioncraft.top/sd/models"
+ ) as response:
return await response.json()
async def fetch_upscale_models():
"""Get all available upscale models"""
- async with aiohttp.ClientSession() as session, session.get("https://visioncraft.top/models-upscale") as response:
+ async with aiohttp.ClientSession() as session, session.get(
+ "https://visioncraft.top/models-upscale"
+ ) as response:
return await response.json()
@@ -35,13 +39,17 @@ async def generate_gifs(data):
async def generate_images(data):
"""Helper Function to generate image using SDXL"""
- async with aiohttp.ClientSession() as session, session.post(f"{api_url}/sd", json=data) as response:
+ async with aiohttp.ClientSession() as session, session.post(
+ f"{api_url}/sd", json=data
+ ) as response:
return await response.read()
async def generate_dalle(data):
"""Helper Function to generate image using DALL-E 3"""
- async with aiohttp.ClientSession() as session, session.post(f"{api_url}/dalle", json=data) as response:
+ async with aiohttp.ClientSession() as session, session.post(
+ f"{api_url}/dalle", json=data
+ ) as response:
return await response.read()
@@ -85,7 +93,9 @@ async def transcribe_audio(api_key, audio_data, language, task):
"task": task,
}
- async with aiohttp.ClientSession() as session, session.post(f"{api_url}/whisper", json=payload) as response:
+ async with aiohttp.ClientSession() as session, session.post(
+ f"{api_url}/whisper", json=payload
+ ) as response:
return await response.json()
diff --git a/modules/antipm.py b/modules/antipm.py
index c127599..bc4457a 100644
--- a/modules/antipm.py
+++ b/modules/antipm.py
@@ -186,5 +186,3 @@ modules_help["antipm"] = {
"a": "Approve User",
"d": "DisApprove User",
}
-
-
diff --git a/modules/direct.py b/modules/direct.py
index 2ac2a61..8fac0cf 100644
--- a/modules/direct.py
+++ b/modules/direct.py
@@ -21,7 +21,6 @@ from pyrogram.types import Message
from utils.misc import modules_help, prefix
-
def subprocess_run(cmd):
reply = ""
subproc = Popen(
@@ -80,7 +79,7 @@ async def direct_link_generator(_, m: Message):
def gdrive(url: str) -> str:
- """ GDrive direct links generator """
+ """GDrive direct links generator"""
drive = "https://drive.google.com"
try:
link = re.findall(r"\bhttps?://drive\.google\.com\S+", url)[0]
@@ -132,7 +131,6 @@ def gdrive(url: str) -> str:
return reply
-
def yandex_disk(url: str) -> str:
"""Yandex.Disk direct links generator
Based on https://github.com/wldhx/yadisk-direct"""
@@ -180,7 +178,7 @@ def cm_ru(url: str) -> str:
def mediafire(url: str) -> str:
- """ MediaFire direct links generator """
+ """MediaFire direct links generator"""
try:
link = re.findall(r"\bhttps?://.*mediafire\.com\S+", url)[0]
except IndexError:
@@ -197,7 +195,7 @@ def mediafire(url: str) -> str:
def sourceforge(url: str) -> str:
- """ SourceForge direct links generator """
+ """SourceForge direct links generator"""
try:
link = re.findall(r"\bhttps?://.*sourceforge\.net\S+", url)[0]
except IndexError:
@@ -222,7 +220,7 @@ def sourceforge(url: str) -> str:
def osdn(url: str) -> str:
- """ OSDN direct links generator """
+ """OSDN direct links generator"""
osdn_link = "https://osdn.net"
try:
link = re.findall(r"\bhttps?://.*osdn\.net\S+", url)[0]
@@ -243,7 +241,7 @@ def osdn(url: str) -> str:
def androidfilehost(url: str) -> str:
- """ AFH direct links generator """
+ """AFH direct links generator"""
try:
link = re.findall(r"\bhttps?://.*androidfilehost.*fid.*\S+", url)[0]
except IndexError:
@@ -291,24 +289,25 @@ def androidfilehost(url: str) -> str:
def useragent():
- """
- useragent random setter
- """
- useragents = BeautifulSoup(
- requests.get(
- "https://developers.whatismybrowser.com/"
- "useragents/explore/operating_system_name/android/"
- ).content,
- "lxml",
- ).findAll("td", {"class": "useragent"})
- if not useragents:
- return "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
- user_agent = choice(useragents)
- return user_agent.text
+ """
+ useragent random setter
+ """
+ useragents = BeautifulSoup(
+ requests.get(
+ "https://developers.whatismybrowser.com/"
+ "useragents/explore/operating_system_name/android/"
+ ).content,
+ "lxml",
+ ).findAll("td", {"class": "useragent"})
+ if not useragents:
+ return "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
+ user_agent = choice(useragents)
+ return user_agent.text
+
modules_help["direct"] = {
- "direct": "Url/reply to Url\
+ "direct": "Url/reply to Url\
\n\nSyntax : .direct [url/reply] \
\nUsage : Generates direct download link from supported URL(s)\
\n\nSupported websites : Google Drive - MEGA.nz - Cloud Mail - Yandex.Disk - AFH - MediaFire - SourceForge - OSDN"
- }
+}
diff --git a/modules/help.py b/modules/help.py
index a5a2cc5..e562b01 100644
--- a/modules/help.py
+++ b/modules/help.py
@@ -49,17 +49,11 @@ async def help_cmd(_, message: Message):
text += f"The number of modules in the userbot: {len(modules_help)}"
if msg_edited:
- await message.reply(
- text, disable_web_page_preview=True
- )
+ await message.reply(text, disable_web_page_preview=True)
else:
- await message.edit(
- text, disable_web_page_preview=True
- )
+ await message.edit(text, disable_web_page_preview=True)
elif message.command[1].lower() in modules_help:
- await message.edit(
- format_module_help(message.command[1].lower(), prefix)
- )
+ await message.edit(format_module_help(message.command[1].lower(), prefix))
else:
command_name = message.command[1].lower()
for name, commands in modules_help.items():
@@ -74,9 +68,7 @@ async def help_cmd(_, message: Message):
f"{' ' + cmd[1] + '' if len(cmd) > 1 else ''}"
f" — {cmd_desc}",
)
- await message.edit(
- f"Module {command_name} not found"
- )
+ await message.edit(f"Module {command_name} not found")
# TODO: refactor this cringe
command_name = message.command[1].lower()
for name, commands in modules_help.items():
@@ -91,9 +83,7 @@ async def help_cmd(_, message: Message):
f"{' ' + cmd[1] + '' if len(cmd) > 1 else ''}"
f" — {cmd_desc}",
)
- await message.edit(
- f"Module {command_name} not found"
- )
+ await message.edit(f"Module {command_name} not found")
modules_help["help"] = {"help [module/command name]": "Get common/module/command help"}
diff --git a/modules/lexica.py b/modules/lexica.py
index 883502d..57d1959 100644
--- a/modules/lexica.py
+++ b/modules/lexica.py
@@ -8,6 +8,7 @@ from utils.misc import modules_help, prefix
from utils.scripts import format_exc
from utils.lexicapi import ImageGeneration, UpscaleImages, ImageModels
+
@Client.on_message(filters.command("lupscale", prefix) & filters.me)
async def lupscale(client: Client, message: Message):
"""Upscale Image Using Lexica API"""
@@ -22,7 +23,7 @@ async def lupscale(client: Client, message: Message):
await message.edit("File not found")
return
try:
- with open(photo_data, 'rb') as image_file:
+ with open(photo_data, "rb") as image_file:
image = image_file.read()
upscaled_image = await UpscaleImages(image)
if message.reply_to_message:
@@ -30,11 +31,17 @@ async def lupscale(client: Client, message: Message):
await message.delete()
else:
message_id = message.id
- await client.send_document(message.chat.id, upscaled_image, caption="Upscaled!", reply_to_message_id=message_id)
+ await client.send_document(
+ message.chat.id,
+ upscaled_image,
+ caption="Upscaled!",
+ reply_to_message_id=message_id,
+ )
os.remove(upscaled_image)
except Exception as e:
await message.edit(format_exc(e))
+
@Client.on_message(filters.command("lgen", prefix) & filters.me)
async def lgen(client: Client, message: Message):
try:
@@ -46,17 +53,23 @@ async def lgen(client: Client, message: Message):
if len(message.command) > 2:
model_id = int(message.text.split()[1])
if model_id not in models_ids:
- return await message.edit_text(f"Usage: {prefix}lgen [model_id]* [prompt/reply to prompt]*\n Available Models and IDs:
{models}") + return await message.edit_text( + f"Usage:
{prefix}lgen [model_id]* [prompt/reply to prompt]*\n Available Models and IDs: {models}" + ) message_id = None - prompt = ' '.join(message.text.split()[2:]) + prompt = " ".join(message.text.split()[2:]) elif message.reply_to_message and len(message.command) > 1: model_id = int(message.text.split()[1]) if model_id not in models_ids: - return await message.edit_text(f"Usage:
{prefix}lgen [model_id]* [prompt/reply to prompt]*\n Available Models and IDs: {models}") + return await message.edit_text( + f"Usage:
{prefix}lgen [model_id]* [prompt/reply to prompt]*\n Available Models and IDs: {models}" + ) message_id = message.reply_to_message.id prompt = message.reply_to_message.text else: - return await message.edit_text(f"Usage:
{prefix}lgen [model_id]* [prompt/reply to prompt]*\n Available Models and IDs: {models}") + return await message.edit_text( + f"Usage:
{prefix}lgen [model_id]* [prompt/reply to prompt]*\n Available Models and IDs: {models}" + ) for key, val in models.items(): if val == model_id: @@ -68,14 +81,20 @@ async def lgen(client: Client, message: Message): if img == 69: return await message.edit_text("NSFW is not allowed") img_url = img[0] - with open("generated_image.png", 'wb') as f: + with open("generated_image.png", "wb") as f: f.write(requests.get(img_url, timeout=5).content) - await client.send_document(message.chat.id, "generated_image.png", caption=f"Prompt:
{prompt}\nModel: {model_name}", reply_to_message_id=message_id)
+ await client.send_document(
+ message.chat.id,
+ "generated_image.png",
+ caption=f"Prompt: {prompt}\nModel: {model_name}",
+ reply_to_message_id=message_id,
+ )
os.remove("generated_image.png")
except Exception as e:
await message.edit(format_exc(e))
+
modules_help["lexica"] = {
"lgen [model_id]* [prompt/reply to prompt]*": "Generate Image with Lexica API",
"lupscale [cap/reply to image]*": "Upscale Image through Lexica API",
diff --git a/modules/loader.py b/modules/loader.py
index 472e34a..b6a80fe 100644
--- a/modules/loader.py
+++ b/modules/loader.py
@@ -221,4 +221,3 @@ modules_help["loader"] = {
"loadallmods": "Load all custom modules (use it at your own risk)",
"updateallmods": "Update all custom modules",
}
-
diff --git a/modules/open.py b/modules/open.py
index d45f8dc..91b8d6d 100644
--- a/modules/open.py
+++ b/modules/open.py
@@ -105,7 +105,8 @@ async def openfile(client: Client, message: Message):
)
content_new = f"{code_start}\n{content}{code_end}"
paste = subprocess.run(
- ["rentry", "new", content_new], capture_output=True, text=True, check=True)
+ ["rentry", "new", content_new], capture_output=True, text=True, check=True
+ )
await client.send_message("me", paste.stdout, disable_web_page_preview=True)
lines = paste.stdout.split("\n")
for line in lines:
diff --git a/modules/ping.py b/modules/ping.py
index c36bfe0..7d6181b 100644
--- a/modules/ping.py
+++ b/modules/ping.py
@@ -29,9 +29,7 @@ async def ping(_, message: Message):
start = perf_counter()
await message.edit("Pong!")
end = perf_counter()
- await message.edit(
- f"Pong! {round(end - start, 3)}s"
- )
+ await message.edit(f"Pong! {round(end - start, 3)}s")
modules_help["ping"] = {
diff --git a/modules/prefix.py b/modules/prefix.py
index e2fbf62..1051af9 100644
--- a/modules/prefix.py
+++ b/modules/prefix.py
@@ -29,14 +29,10 @@ async def setprefix(_, message: Message):
if len(message.command) > 1:
pref = message.command[1]
db.set("core.main", "prefix", pref)
- await message.edit(
- f"Prefix [ {pref} ] is set!"
- )
+ await message.edit(f"Prefix [ {pref} ] is set!")
restart()
else:
- await message.edit(
- "The prefix must not be empty!"
- )
+ await message.edit("The prefix must not be empty!")
modules_help["prefix"] = {
diff --git a/modules/python.py b/modules/python.py
index a07e4f5..8288d79 100644
--- a/modules/python.py
+++ b/modules/python.py
@@ -37,9 +37,7 @@ from utils.scripts import format_exc
)
async def user_exec(client: Client, message: Message):
if len(message.command) == 1:
- await message.edit(
- "Code to execute isn't provided"
- )
+ await message.edit("Code to execute isn't provided")
return
code = message.text.split(maxsplit=1)[1]
diff --git a/modules/removebg.py b/modules/removebg.py
index 08533e9..22c6a3e 100644
--- a/modules/removebg.py
+++ b/modules/removebg.py
@@ -83,8 +83,8 @@ def _check_rmbg(func):
if not rmbg_key:
await edit_or_reply(
message,
- "Is Your RMBG Api 'rmbg_key' Valid Or You Didn't Add It??"
- )
+ "Is Your RMBG Api 'rmbg_key' Valid Or You Didn't Add It??",
+ )
else:
await func(client, message)
@@ -129,13 +129,14 @@ async def rmbg(client: Client, message: Message):
ms = (end - start).seconds
await pablo.edit(
f"Removed image's Background in {ms} seconds, powered by @moonuserbot"
- )
+ )
if os.path.exists("BG_rem.png"):
os.remove("BG_rem.png")
else:
await pablo.edit(
"ReMove.BG API returned Errors. Please report to @moonub_chat"
- + f"\n`{output_file_name.content.decode('UTF-8')}")
+ + f"\n`{output_file_name.content.decode('UTF-8')}"
+ )
@Client.on_message(filters.command("rebg", prefix) & filters.me)
@@ -149,9 +150,7 @@ async def rembg(client: Client, message: Message):
try:
photo_data = await message.reply_to_message.download()
except ValueError:
- await message.edit(
- "File not found"
- )
+ await message.edit("File not found")
return
background_removed_data = remove_background(photo_data)
diff --git a/modules/safone.py b/modules/safone.py
index 24e164f..966e877 100644
--- a/modules/safone.py
+++ b/modules/safone.py
@@ -10,39 +10,39 @@ from pyrogram.errors import MediaCaptionTooLong, MessageTooLong
from utils.misc import prefix, modules_help
from utils.scripts import format_exc
-url = 'https://api.safone.dev'
+url = "https://api.safone.dev"
headers = {
- 'Accept-Language': 'en-US,en;q=0.9',
- 'Connection': 'keep-alive',
- 'DNT': '1',
- 'Referer': 'https://api.safone.dev/docs',
- 'Sec-Fetch-Dest': 'empty',
- 'Sec-Fetch-Mode': 'cors',
- 'Sec-Fetch-Site': 'same-origin',
- 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36',
- 'accept': 'application/json',
- 'sec-ch-ua': '"Chromium";v="124", "Google Chrome";v="124", "Not-A.Brand";v="99"',
- 'sec-ch-ua-mobile': '?0',
- 'sec-ch-ua-platform': '"Linux"'
+ "Accept-Language": "en-US,en;q=0.9",
+ "Connection": "keep-alive",
+ "DNT": "1",
+ "Referer": "https://api.safone.dev/docs",
+ "Sec-Fetch-Dest": "empty",
+ "Sec-Fetch-Mode": "cors",
+ "Sec-Fetch-Site": "same-origin",
+ "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
+ "accept": "application/json",
+ "sec-ch-ua": '"Chromium";v="124", "Google Chrome";v="124", "Not-A.Brand";v="99"',
+ "sec-ch-ua-mobile": "?0",
+ "sec-ch-ua-platform": '"Linux"',
}
+
async def telegraph(title, user_name, content):
- formatted_content = '' + formatted_content + '
' + formatted_content = "" + formatted_content + "
" - data = { - "title": title, - "content": formatted_content, - "author_name": user_name - } + data = {"title": title, "content": formatted_content, "author_name": user_name} - response = requests.post(url=f"{url}/telegraph/text", headers=headers, json=data, timeout=5) + response = requests.post( + url=f"{url}/telegraph/text", headers=headers, json=data, timeout=5 + ) result = response.json() - return result['url'] + return result["url"] + async def voice_characters(): @@ -50,7 +50,8 @@ async def voice_characters(): result = response.json() - return ', '.join(result['characters']) + return ", ".join(result["characters"]) + @Client.on_message(filters.command("app", prefix) & filters.me) async def app(client: Client, message: Message): @@ -60,9 +61,13 @@ async def app(client: Client, message: Message): if len(message.command) > 1: query = message.text.split(maxsplit=1)[1] else: - message.edit_text("What should i search? You didn't provided me with any value to search") + message.edit_text( + "What should i search? You didn't provided me with any value to search" + ) - response = requests.get(url=f"{url}/apps?query={query}&limit=1", headers=headers, timeout=5) + response = requests.get( + url=f"{url}/apps?query={query}&limit=1", headers=headers, timeout=5 + ) if response.status_code != 200: await message.edit_text("Something went wrong") return @@ -70,30 +75,34 @@ async def app(client: Client, message: Message): result = response.json() try: - coverImage_url = result['results'][0]['icon'] + coverImage_url = result["results"][0]["icon"] coverImage = requests.get(url=coverImage_url).content - async with aiofiles.open('coverImage.jpg', mode='wb') as f: + async with aiofiles.open("coverImage.jpg", mode="wb") as f: await f.write(coverImage) except Exception: coverImage = None - description = result['results'][0]['description'] - developer = result['results'][0]['developer'] - IsFree = result['results'][0]['free'] - genre = result['results'][0]['genre'] - package_name = result['results'][0]['id'] - title = result['results'][0]['title'] - price = result['results'][0]['price'] - link = result['results'][0]['link'] - rating = result['results'][0]['rating'] + description = result["results"][0]["description"] + developer = result["results"][0]["developer"] + IsFree = result["results"][0]["free"] + genre = result["results"][0]["genre"] + package_name = result["results"][0]["id"] + title = result["results"][0]["title"] + price = result["results"][0]["price"] + link = result["results"][0]["link"] + rating = result["results"][0]["rating"] await message.delete() await client.send_media_group( chat_id, [ - InputMediaPhoto('coverImage.jpg', caption=f"Title:{title}\nRating: {rating}\nIsFree: {IsFree}\nPrice: {price}\nPackage Name: {package_name}\nGenres: {genre}\nDeveloper: {developer}\nDescription: {description}\nLink: {link}")
- ])
+ InputMediaPhoto(
+ "coverImage.jpg",
+ caption=f"Title: {title}\nRating: {rating}\nIsFree: {IsFree}\nPrice: {price}\nPackage Name: {package_name}\nGenres: {genre}\nDeveloper: {developer}\nDescription: {description}\nLink: {link}",
+ )
+ ],
+ )
except MediaCaptionTooLong:
description = description[:850]
@@ -101,13 +110,17 @@ async def app(client: Client, message: Message):
await client.send_media_group(
chat_id,
[
- InputMediaPhoto('coverImage.jpg', caption=f"Title: {title}\nRating: {rating}\nIsFree: {IsFree}\nPrice: {price}\nPackage Name: {package_name}\nGenres: {genre}\nDeveloper: {developer}\nDescription: {description}\nLink: {link}")
- ])
+ InputMediaPhoto(
+ "coverImage.jpg",
+ caption=f"Title: {title}\nRating: {rating}\nIsFree: {IsFree}\nPrice: {price}\nPackage Name: {package_name}\nGenres: {genre}\nDeveloper: {developer}\nDescription: {description}\nLink: {link}",
+ )
+ ],
+ )
except Exception as e:
await message.edit_text(format_exc(e))
finally:
- if os.path.exists('coverImage.jpg'):
- os.remove('coverImage.jpg')
+ if os.path.exists("coverImage.jpg"):
+ os.remove("coverImage.jpg")
@Client.on_message(filters.command("tsearch", prefix) & filters.me)
@@ -119,57 +132,73 @@ async def tsearch(client: Client, message: Message):
if len(message.command) > 1:
query = message.text.split(maxsplit=1)[1]
else:
- message.edit_text("What should i search? You didn't provided me with any value to search")
+ message.edit_text(
+ "What should i search? You didn't provided me with any value to search"
+ )
- response = requests.get(url=f"{url}/torrent?query={query}&limit={limit}", headers=headers)
+ response = requests.get(
+ url=f"{url}/torrent?query={query}&limit={limit}", headers=headers
+ )
if response.status_code != 200:
await message.edit_text("Something went wrong")
return
result = response.json()
- coverImage_url = result['results'][0]['thumbnail']
- description = result['results'][0]['description']
- genre = result['results'][0]['genre']
- category = result['results'][0]['category']
- title = result['results'][0]['name']
- link = result['results'][0]['magnetLink']
- link_result = await telegraph(title=title,user_name=message.from_user.first_name, content=link)
- language = result['results'][0]['language']
- size = result['results'][0]['size']
+ coverImage_url = result["results"][0]["thumbnail"]
+ description = result["results"][0]["description"]
+ genre = result["results"][0]["genre"]
+ category = result["results"][0]["category"]
+ title = result["results"][0]["name"]
+ link = result["results"][0]["magnetLink"]
+ link_result = await telegraph(
+ title=title, user_name=message.from_user.first_name, content=link
+ )
+ language = result["results"][0]["language"]
+ size = result["results"][0]["size"]
results = []
- for i in range(min(limit, len(result['results']))):
- descriptions = result['results'][i]['description']
- genres = result['results'][i]['genre']
- categorys = result['results'][i]['category']
- titles = result['results'][i]['name']
- links = result['results'][i]['magnetLink']
- languages = result['results'][i]['language']
- sizes = result['results'][i]['size']
+ for i in range(min(limit, len(result["results"]))):
+ descriptions = result["results"][i]["description"]
+ genres = result["results"][i]["genre"]
+ categorys = result["results"][i]["category"]
+ titles = result["results"][i]["name"]
+ links = result["results"][i]["magnetLink"]
+ languages = result["results"][i]["language"]
+ sizes = result["results"][i]["size"]
r = f"Title: {titles}\nCategory: {categorys}\nLanguage: {languages}\nSize: {sizes}\nGenres: {genres}\nDescription: {descriptions}\nMagnet Link: {links}
"
results.append(r)
- all_results_content = '
'.join(results)
+ all_results_content = "
".join(results)
- link_results = await telegraph(title="Search Results", user_name=message.from_user.first_name, content=all_results_content)
+ link_results = await telegraph(
+ title="Search Results",
+ user_name=message.from_user.first_name,
+ content=all_results_content,
+ )
if coverImage_url is not None:
coverImage = requests.get(url=coverImage_url).content
- async with aiofiles.open('coverImage.jpg', mode='wb') as f:
+ async with aiofiles.open("coverImage.jpg", mode="wb") as f:
await f.write(coverImage)
await message.delete()
await client.send_media_group(
chat_id,
[
- InputMediaPhoto('coverImage.jpg', caption=f"Title: {title}\nCategory: {category}\nLanguage: {language}\nSize: {size}\nGenres: {genre}\nDescription: {description}\nMagnet Link: Click Here\nMore Results: Click Here")
- ])
+ InputMediaPhoto(
+ "coverImage.jpg",
+ caption=f"Title: {title}\nCategory: {category}\nLanguage: {language}\nSize: {size}\nGenres: {genre}\nDescription: {description}\nMagnet Link: Click Here\nMore Results: Click Here",
+ )
+ ],
+ )
else:
- await message.edit_text(f"Title: {title}\nCategory: {category}\nLanguage: {language}\nSize: {size}\nGenres: {genre}\nDescription: {description}\nMagnet Link: Click Here\nMore Results: Click Here", disable_web_page_preview=True)
-
+ await message.edit_text(
+ f"Title: {title}\nCategory: {category}\nLanguage: {language}\nSize: {size}\nGenres: {genre}\nDescription: {description}\nMagnet Link: Click Here\nMore Results: Click Here",
+ disable_web_page_preview=True,
+ )
except MediaCaptionTooLong:
description = description[:850]
@@ -177,18 +206,26 @@ async def tsearch(client: Client, message: Message):
await client.send_media_group(
chat_id,
[
- InputMediaPhoto('coverImage.jpg', caption=f"Title: {title}\nCategory: {category}\nLanguage: {language}\nSize: {size}\nGenres: {genre}\nDescription: {description}\nMagnet Link: Click Here")
- ])
+ InputMediaPhoto(
+ "coverImage.jpg",
+ caption=f"Title: {title}\nCategory: {category}\nLanguage: {language}\nSize: {size}\nGenres: {genre}\nDescription: {description}\nMagnet Link: Click Here",
+ )
+ ],
+ )
except MessageTooLong:
description = description[:150]
- await message.edit_text(f"Title: {title}\nCategory: {category}\nLanguage: {language}\nSize: {size}\nGenres: {genre}\nDescription: {description}\nMagnet Link: Click Here", disable_web_page_preview=True)
+ await message.edit_text(
+ f"Title: {title}\nCategory: {category}\nLanguage: {language}\nSize: {size}\nGenres: {genre}\nDescription: {description}\nMagnet Link: Click Here",
+ disable_web_page_preview=True,
+ )
except Exception as e:
await message.edit_text(format_exc(e))
finally:
- if os.path.exists('coverImage.jpg'):
- os.remove('coverImage.jpg')
+ if os.path.exists("coverImage.jpg"):
+ os.remove("coverImage.jpg")
+
@Client.on_message(filters.command("tts", prefix) & filters.me)
async def tts(client: Client, message: Message):
@@ -196,58 +233,65 @@ async def tts(client: Client, message: Message):
await message.edit_text("Please Wait...")
try:
if len(message.command) > 2:
- character, prompt = message.text.split(maxsplit=2)[1:]
- if character not in characters:
- await message.edit_text(f"Usage: {prefix}tts [character]* [text/reply to text]*\n Available Characters: {characters}
")
- return
+ character, prompt = message.text.split(maxsplit=2)[1:]
+ if character not in characters:
+ await message.edit_text(
+ f"Usage: {prefix}tts [character]* [text/reply to text]*\n Available Characters: {characters}
"
+ )
+ return
elif message.reply_to_message and len(message.command) > 1:
- character = message.text.split(maxsplit=1)[1]
- if character in characters:
- prompt = message.reply_to_message.text
- else:
- await message.edit_text(f"Usage: {prefix}tts [character]* [text/reply to text]*\n Available Characters: {characters}
")
- return
+ character = message.text.split(maxsplit=1)[1]
+ if character in characters:
+ prompt = message.reply_to_message.text
+ else:
+ await message.edit_text(
+ f"Usage: {prefix}tts [character]* [text/reply to text]*\n Available Characters: {characters}
"
+ )
+ return
else:
- await message.edit_text(
- f"Usage: {prefix}tts [character]* [text/reply to text]*\n Available Characters: {characters}
"
- )
- return
+ await message.edit_text(
+ f"Usage: {prefix}tts [character]* [text/reply to text]*\n Available Characters: {characters}
"
+ )
+ return
- data = {
- "text": prompt,
- "character": character
- }
+ data = {"text": prompt, "character": character}
response = requests.post(url=f"{url}/speech", headers=headers, json=data)
if response.status_code != 200:
await message.edit_text("Something went wrong")
return
result = response.json()
- audio_data = result['audio']
+ audio_data = result["audio"]
audio_data = base64.b64decode(audio_data)
- async with aiofiles.open(f'{prompt}.mp3', mode='wb') as f:
+ async with aiofiles.open(f"{prompt}.mp3", mode="wb") as f:
await f.write(audio_data)
await message.delete()
- await client.send_audio(chat_id=message.chat.id, audio=f'{prompt}.mp3', caption=f"Characters: {character}\nPrompt: {prompt}")
+ await client.send_audio(
+ chat_id=message.chat.id,
+ audio=f"{prompt}.mp3",
+ caption=f"Characters: {character}\nPrompt: {prompt}",
+ )
except KeyError:
try:
- error = result['error']
+ error = result["error"]
await message.edit_text(error)
except KeyError:
- await message.edit_text(f"Usage: {prefix}tts [character]* [text/reply to text]*\n Available Characters: {characters}
")
+ await message.edit_text(
+ f"Usage: {prefix}tts [character]* [text/reply to text]*\n Available Characters: {characters}
"
+ )
except Exception as e:
await message.edit_text(format_exc(e))
finally:
- if os.path.exists(f'{prompt}.mp3'):
- os.remove(f'{prompt}.mp3')
+ if os.path.exists(f"{prompt}.mp3"):
+ os.remove(f"{prompt}.mp3")
modules_help["safone"] = {
"app": "Search for an app on Play Store",
"tsearch": "Search Torrent",
- "tts [character]* [text/reply to text]*": "Convert Text to Speech"
+ "tts [character]* [text/reply to text]*": "Convert Text to Speech",
}
diff --git a/modules/sendmod.py b/modules/sendmod.py
index ba97826..8150dc5 100644
--- a/modules/sendmod.py
+++ b/modules/sendmod.py
@@ -25,9 +25,7 @@ from utils.scripts import format_exc, format_module_help, format_small_module_he
@Client.on_message(filters.command(["sendmod", "sm"], prefix) & filters.me)
async def sendmod(client: Client, message: Message):
if len(message.command) == 1:
- await message.edit(
- "Module name to send is not provided"
- )
+ await message.edit("Module name to send is not provided")
return
await message.edit("Dispatching...")
diff --git a/modules/sessionkiller.py b/modules/sessionkiller.py
index 9cbeb3f..0e448b6 100644
--- a/modules/sessionkiller.py
+++ b/modules/sessionkiller.py
@@ -47,7 +47,7 @@ async def sessions_list(client: Client, message: Message):
f"Official status: {'✅' if session.official_app else '❌️'}\n"
f"2FA accepted: {'❌️️' if session.password_pending else '✅'}\n"
f"Can accept calls / secret chats: {'❌️️' if session.call_requests_disabled else '✅'} / {'❌️️' if session.encrypted_requests_disabled else '✅'}"
- )
+ )
answer = "Active sessions at your account:\n\n"
chunk = []
for s in formatted_sessions:
@@ -62,9 +62,7 @@ async def sessions_list(client: Client, message: Message):
await message.delete()
-@Client.on_message(
- filters.command(["sessionkiller", "sk"], prefix) & filters.me
-)
+@Client.on_message(filters.command(["sessionkiller", "sk"], prefix) & filters.me)
async def sessionkiller(client: Client, message: Message):
if len(message.command) == 1:
if db.get("core.sessionkiller", "enabled", False):
@@ -85,9 +83,7 @@ async def sessionkiller(client: Client, message: Message):
"auths_hashes",
[
auth.hash
- for auth in (
- await client.invoke(GetAuthorizations())
- ).authorizations
+ for auth in (await client.invoke(GetAuthorizations())).authorizations
],
)
@@ -95,24 +91,18 @@ async def sessionkiller(client: Client, message: Message):
db.set("core.sessionkiller", "enabled", False)
await message.edit("Sessionkiller disabled!")
else:
- await message.edit(
- f"Usage: {prefix}sessionkiller [enable|disable]"
- )
+ await message.edit(f"Usage: {prefix}sessionkiller [enable|disable]")
@Client.on_raw_update()
-async def check_new_login(
- client: Client, update: UpdateServiceNotification, _, __
-):
- if not isinstance(
- update, UpdateServiceNotification
- ) or not update.type.startswith("auth"):
+async def check_new_login(client: Client, update: UpdateServiceNotification, _, __):
+ if not isinstance(update, UpdateServiceNotification) or not update.type.startswith(
+ "auth"
+ ):
raise ContinuePropagation
if not db.get("core.sessionkiller", "enabled", False):
raise ContinuePropagation
- authorizations = (await client.invoke(GetAuthorizations()))[
- "authorizations"
- ]
+ authorizations = (await client.invoke(GetAuthorizations()))["authorizations"]
for auth in authorizations:
if auth.current:
continue
@@ -133,9 +123,9 @@ async def check_new_login(
"this feature, I deleted the attacker's session from your account. "
"You should change your 2FA password (if enabled), or set it.\n"
)
- logined_time = datetime.utcfromtimestamp(
- auth.date_created
- ).strftime("%d-%m-%Y %H-%M-%S UTC")
+ logined_time = datetime.utcfromtimestamp(auth.date_created).strftime(
+ "%d-%m-%Y %H-%M-%S UTC"
+ )
full_report = (
"!!! ACTION REQUIRED !!!\n"
+ info_text
@@ -155,9 +145,7 @@ async def check_new_login(
)
# schedule sending report message so user will get notification
schedule_date = int(time.time() + 15)
- await client.send_message(
- "me", full_report, schedule_date=schedule_date
- )
+ await client.send_message("me", full_report, schedule_date=schedule_date)
return
diff --git a/modules/sgb.py b/modules/sgb.py
index e7ee0cf..e42ee8c 100644
--- a/modules/sgb.py
+++ b/modules/sgb.py
@@ -7,18 +7,26 @@ from pyrogram.errors import RPCError
from utils.misc import modules_help, prefix
from utils.scripts import edit_or_reply
+
@Client.on_message(filters.command("sgb", prefix) & filters.me)
async def sg(client: Client, message: Message):
- lol = await edit_or_reply(message, "`Processing please wait`", parse_mode=enums.ParseMode.MARKDOWN)
+ lol = await edit_or_reply(
+ message, "`Processing please wait`", parse_mode=enums.ParseMode.MARKDOWN
+ )
if message.reply_to_message and message.reply_to_message.from_user:
user_id = message.reply_to_message.from_user.id
else:
await message.edit(f"Usage: {prefix}sgb [id]")
return
try:
- await client.send_message("@SangMata_beta_bot","/start", parse_mode=enums.ParseMode.MARKDOWN)
+ await client.send_message(
+ "@SangMata_beta_bot", "/start", parse_mode=enums.ParseMode.MARKDOWN
+ )
except RPCError:
- await lol.edit("**Please unblock @SangMata_beta_bot and try again**", parse_mode=enums.ParseMode.MARKDOWN)
+ await lol.edit(
+ "**Please unblock @SangMata_beta_bot and try again**",
+ parse_mode=enums.ParseMode.MARKDOWN,
+ )
return
id = "@SangMata_beta_bot"
chat = message.chat.id
@@ -27,11 +35,12 @@ async def sg(client: Client, message: Message):
async for opt in client.get_chat_history("@SangMata_beta_bot", limit=1):
hmm = opt.text
if hmm.startswith("Forward"):
- await lol.edit("**Unknown error occurred**", parse_mode=enums.ParseMode.MARKDOWN)
+ await lol.edit(
+ "**Unknown error occurred**", parse_mode=enums.ParseMode.MARKDOWN
+ )
return
await lol.delete()
await opt.copy(chat)
-modules_help["sangmata"] = {
- "sgb": "reply to any user"
-}
+
+modules_help["sangmata"] = {"sgb": "reply to any user"}
diff --git a/modules/squotes.py b/modules/squotes.py
index 7011acd..79c8265 100644
--- a/modules/squotes.py
+++ b/modules/squotes.py
@@ -71,9 +71,7 @@ async def quote_cmd(client: Client, message: Message):
url = "https://quotes.fl1yd.su/generate"
params = {
"messages": [
- await render_message(client, msg)
- for msg in messages
- if not msg.empty
+ await render_message(client, msg) for msg in messages if not msg.empty
],
"quote_color": "#162330",
"text_color": "#fff",
@@ -118,9 +116,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")
- q_message = await client.get_messages(
- message.chat.id, message.reply_to_message.id
- )
+ q_message = await client.get_messages(message.chat.id, message.reply_to_message.id)
q_message.text = fake_quote_text
q_message.entities = None
if no_reply:
@@ -238,9 +234,7 @@ async def render_message(app: Client, message: types.Message) -> dict:
author["rank"] = getattr(member, "title", "") or (
"owner"
if member.status == "creator"
- else "admin"
- if member.status == "administrator"
- else ""
+ else "admin" if member.status == "administrator" else ""
)
if from_user.photo:
@@ -273,14 +267,10 @@ async def render_message(app: Client, message: types.Message) -> dict:
else:
author["id"] = message.sender_chat.id
author["name"] = message.sender_chat.title
- author["rank"] = (
- "channel" if message.sender_chat.type == "channel" else ""
- )
+ author["rank"] = "channel" if message.sender_chat.type == "channel" else ""
if message.sender_chat.photo:
- author["avatar"] = await get_file(
- message.sender_chat.photo.big_file_id
- )
+ author["avatar"] = await get_file(message.sender_chat.photo.big_file_id)
else:
author["avatar"] = ""
author["via_bot"] = message.via_bot.username if message.via_bot else ""
@@ -323,65 +313,134 @@ def get_reply_text(reply: types.Message) -> str:
return (
"📷 Photo" + ("\n" + reply.caption if reply.caption else "")
if reply.photo
- else get_reply_poll_text(reply.poll)
- if reply.poll
- else "📍 Location"
- if reply.location or reply.venue
- else "👤 Contact"
- if reply.contact
- else "🖼 GIF"
- if reply.animation
- else "🎧 Music" + get_audio_text(reply.audio)
- if reply.audio
- else "📹 Video"
- if reply.video
- else "📹 Videomessage"
- if reply.video_note
- else "🎵 Voice"
- if reply.voice
- else (reply.sticker.emoji + " " if reply.sticker.emoji else "")
- + "Sticker"
- if reply.sticker
- else "💾 File " + reply.document.file_name
- if reply.document
- else "🎮 Game"
- if reply.game
- else "🎮 set new record"
- if reply.game_high_score
- else f"{reply.dice.emoji} - {reply.dice.value}"
- if reply.dice
else (
- "👤 joined the group"
- if reply.new_chat_members[0].id == reply.from_user.id
- else "👤 invited %s to the group"
- % (get_full_name(reply.new_chat_members[0]))
+ get_reply_poll_text(reply.poll)
+ if reply.poll
+ else (
+ "📍 Location"
+ if reply.location or reply.venue
+ else (
+ "👤 Contact"
+ if reply.contact
+ else (
+ "🖼 GIF"
+ if reply.animation
+ else (
+ "🎧 Music" + get_audio_text(reply.audio)
+ if reply.audio
+ else (
+ "📹 Video"
+ if reply.video
+ else (
+ "📹 Videomessage"
+ if reply.video_note
+ else (
+ "🎵 Voice"
+ if reply.voice
+ else (
+ (
+ reply.sticker.emoji + " "
+ if reply.sticker.emoji
+ else ""
+ )
+ + "Sticker"
+ if reply.sticker
+ else (
+ "💾 File " + reply.document.file_name
+ if reply.document
+ else (
+ "🎮 Game"
+ if reply.game
+ else (
+ "🎮 set new record"
+ if reply.game_high_score
+ else (
+ f"{reply.dice.emoji} - {reply.dice.value}"
+ if reply.dice
+ else (
+ (
+ "👤 joined the group"
+ if reply.new_chat_members[
+ 0
+ ].id
+ == reply.from_user.id
+ else "👤 invited %s to the group"
+ % (
+ get_full_name(
+ reply.new_chat_members[
+ 0
+ ]
+ )
+ )
+ )
+ if reply.new_chat_members
+ else (
+ (
+ "👤 left the group"
+ if reply.left_chat_member.id
+ == reply.from_user.id
+ else "👤 removed %s"
+ % (
+ get_full_name(
+ reply.left_chat_member
+ )
+ )
+ )
+ if reply.left_chat_member
+ else (
+ f"✏ changed group name to {reply.new_chat_title}"
+ if reply.new_chat_title
+ else (
+ "🖼 changed group photo"
+ if reply.new_chat_photo
+ else (
+ "🖼 removed group photo"
+ if reply.delete_chat_photo
+ else (
+ "📍 pinned message"
+ if reply.pinned_message
+ else (
+ "🎤 started a new video chat"
+ if reply.video_chat_started
+ else (
+ "🎤 ended the video chat"
+ if reply.video_chat_ended
+ else (
+ "🎤 invited participants to the video chat"
+ if reply.video_chat_members_invited
+ else (
+ "👥 created the group"
+ if reply.group_chat_created
+ or reply.supergroup_chat_created
+ else (
+ "👥 created the channel"
+ if reply.channel_chat_created
+ else reply.text
+ or "unsupported message"
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
)
- if reply.new_chat_members
- else (
- "👤 left the group"
- if reply.left_chat_member.id == reply.from_user.id
- else "👤 removed %s" % (get_full_name(reply.left_chat_member))
- )
- if reply.left_chat_member
- else f"✏ changed group name to {reply.new_chat_title}"
- if reply.new_chat_title
- else "🖼 changed group photo"
- if reply.new_chat_photo
- else "🖼 removed group photo"
- if reply.delete_chat_photo
- else "📍 pinned message"
- if reply.pinned_message
- else "🎤 started a new video chat"
- if reply.video_chat_started
- else "🎤 ended the video chat"
- if reply.video_chat_ended
- else "🎤 invited participants to the video chat"
- if reply.video_chat_members_invited
- else "👥 created the group"
- if reply.group_chat_created or reply.supergroup_chat_created
- else "👥 created the channel"
- if reply.channel_chat_created
- else reply.text or "unsupported message"
)
@@ -402,9 +461,7 @@ def get_poll_text(poll: types.Poll) -> str:
def get_reply_poll_text(poll: types.Poll) -> str:
if poll.is_anonymous:
- text = (
- "📊 Anonymous poll" if poll.type == "regular" else "📊 Anonymous quiz"
- )
+ text = "📊 Anonymous poll" if poll.type == "regular" else "📊 Anonymous quiz"
else:
text = "📊 Poll" if poll.type == "regular" else "📊 Quiz"
if poll.is_closed:
diff --git a/modules/stickers.py b/modules/stickers.py
index 9b3b639..499d42c 100644
--- a/modules/stickers.py
+++ b/modules/stickers.py
@@ -36,10 +36,9 @@ async def kang(client: Client, message: types.Message):
if len(message.command) < 2:
await message.edit(
- "No arguments provided\n"
- f"Usage: {prefix}kang [pack]* [emoji]",
-
- )
+ "No arguments provided\n"
+ f"Usage: {prefix}kang [pack]* [emoji]",
+ )
return
pack = message.command[1]
@@ -49,43 +48,64 @@ async def kang(client: Client, message: types.Message):
emoji = "✨"
await client.unblock_user("@stickers")
- await interact_with(await client.send_message("@stickers", "/cancel", parse_mode=enums.ParseMode.MARKDOWN))
- await interact_with(await client.send_message("@stickers", "/addsticker", parse_mode=enums.ParseMode.MARKDOWN))
+ await interact_with(
+ await client.send_message(
+ "@stickers", "/cancel", parse_mode=enums.ParseMode.MARKDOWN
+ )
+ )
+ await interact_with(
+ await client.send_message(
+ "@stickers", "/addsticker", parse_mode=enums.ParseMode.MARKDOWN
+ )
+ )
- result = await interact_with(await client.send_message("@stickers", pack, parse_mode=enums.ParseMode.MARKDOWN))
+ result = await interact_with(
+ await client.send_message(
+ "@stickers", pack, parse_mode=enums.ParseMode.MARKDOWN
+ )
+ )
if ".TGS" in result.text:
await message.edit("Animated packs aren't supported")
return
if "StickerExample.psd" not in result.text:
await message.edit(
- "Stickerpack doesn't exitst. Create it using @Stickers bot (via /newpack command)",
-
- )
+ "Stickerpack doesn't exitst. Create it using @Stickers bot (via /newpack command)",
+ )
return
try:
path = await message.reply_to_message.download()
except ValueError:
await message.edit(
- "Replied message doesn't contain any downloadable media",
-
- )
+ "Replied message doesn't contain any downloadable media",
+ )
return
resized = resize_image(path)
if os.path.exists(path):
os.remove(path)
- await interact_with(await client.send_document("@stickers", resized, parse_mode=enums.ParseMode.MARKDOWN))
- response = await interact_with(await client.send_message("@stickers", emoji, parse_mode=enums.ParseMode.MARKDOWN))
+ await interact_with(
+ await client.send_document(
+ "@stickers", resized, parse_mode=enums.ParseMode.MARKDOWN
+ )
+ )
+ response = await interact_with(
+ await client.send_message(
+ "@stickers", emoji, parse_mode=enums.ParseMode.MARKDOWN
+ )
+ )
if "/done" in response.text:
# ok
- await interact_with(await client.send_message("@stickers", "/done", parse_mode=enums.ParseMode.MARKDOWN))
+ await interact_with(
+ await client.send_message(
+ "@stickers", "/done", parse_mode=enums.ParseMode.MARKDOWN
+ )
+ )
await client.delete_messages("@stickers", interact_with_to_delete)
await message.edit(
- f"Sticker added to pack",
-
- )
+ f"Sticker added to pack",
+ )
else:
await message.edit("Something went wrong. Check history with @stickers")
interact_with_to_delete.clear()
@@ -106,7 +126,9 @@ async def stick2png(client: Client, message: types.Message):
file_io = BytesIO(content)
file_io.name = "sticker.png"
- await client.send_document(message.chat.id, file_io, parse_mode=enums.ParseMode.MARKDOWN)
+ await client.send_document(
+ message.chat.id, file_io, parse_mode=enums.ParseMode.MARKDOWN
+ )
except Exception as e:
await message.edit(format_exc(e))
else:
@@ -125,7 +147,9 @@ async def resize_cmd(client: Client, message: types.Message):
if os.path.exists(path):
os.remove(path)
- await client.send_document(message.chat.id, resized, parse_mode=enums.ParseMode.MARKDOWN)
+ await client.send_document(
+ message.chat.id, resized, parse_mode=enums.ParseMode.MARKDOWN
+ )
except Exception as e:
await message.edit(format_exc(e))
else:
diff --git a/modules/support.py b/modules/support.py
index 3f285b6..6032e7d 100644
--- a/modules/support.py
+++ b/modules/support.py
@@ -52,9 +52,7 @@ async def support(_, message: Message):
async def version(client: Client, message: Message):
changelog = ""
ub_version = ".".join(userbot_version.split(".")[:2])
- async for m in client.search_messages(
- "moonuserbot", query=f"{userbot_version}."
- ):
+ async for m in client.search_messages("moonuserbot", query=f"{userbot_version}."):
if ub_version in m.text:
changelog = m.message_id
diff --git a/modules/updater.py b/modules/updater.py
index cdfc21e..0ef9c77 100644
--- a/modules/updater.py
+++ b/modules/updater.py
@@ -66,7 +66,9 @@ async def update(_, message: Message):
await message.edit("Updating...")
try:
- subprocess.run([sys.executable, "-m", "pip", "install", "-U", "pip"], check=True)
+ subprocess.run(
+ [sys.executable, "-m", "pip", "install", "-U", "pip"], check=True
+ )
subprocess.run(["git", "pull"], check=True)
subprocess.run(
[
@@ -78,10 +80,12 @@ async def update(_, message: Message):
"-r",
"requirements.txt",
],
- check=True
+ check=True,
)
subprocess.run(
- [sys.executable, "-m", "pip", "install", "-U", *requirements_list], check=True)
+ [sys.executable, "-m", "pip", "install", "-U", *requirements_list],
+ check=True,
+ )
except Exception as e:
await message.edit(format_exc(e))
db.remove("core.updater", "restart_info")
diff --git a/modules/upl.py b/modules/upl.py
index c8ad194..4ad2999 100644
--- a/modules/upl.py
+++ b/modules/upl.py
@@ -28,9 +28,7 @@ async def upl(client: Client, message: Message):
try:
await message.edit("Uploading Now...")
- await client.send_document(
- message.chat.id, link
- )
+ await client.send_document(message.chat.id, link)
await message.delete()
except Exception as e:
await message.edit(format_exc(e))
@@ -57,9 +55,7 @@ async def uplr(client: Client, message: Message):
try:
await message.edit("Uploading Now...")
- await client.send_document(
- message.chat.id, link
- )
+ await client.send_document(message.chat.id, link)
await message.delete()
except Exception as e:
await message.edit(format_exc(e))
diff --git a/modules/url.py b/modules/url.py
index e79166e..97aa6d7 100644
--- a/modules/url.py
+++ b/modules/url.py
@@ -53,9 +53,7 @@ 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]")
return
r = http.request("GET", "https://clck.ru/--?url=" + link)
await message.edit(
@@ -125,7 +123,7 @@ async def urldl(client: Client, message: Message):
"".join(["▰" for _ in range(math.floor(percentage / 5))])
+ "".join(["▱" for _ in range(20 - math.floor(percentage / 5))])
+ f"\nProgress: {round(percentage, 2)}%"
- )
+ )
eta = downloader.get_eta(human=True)
try:
m = "Trying to download...\n"
@@ -182,15 +180,11 @@ async def upload_cmd(_, message: Message):
progress=progress, progress_args=(ms_, c_time, "`Downloading...`")
)
except ValueError:
- await message.edit(
- "File to upload not found"
- )
+ await message.edit("File to upload not found")
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")
if os.path.exists(file_name):
os.remove(file_name)
return
@@ -211,7 +205,7 @@ async def upload_cmd(_, message: Message):
url = response.text.replace("https://", "")
await message.edit(
f"Your URL: {url}\nYour file will remain live for {file_age} days",
- disable_web_page_preview=True
+ disable_web_page_preview=True,
)
else:
await message.edit(
diff --git a/modules/user_info.py b/modules/user_info.py
index a03a8f9..ea022a6 100644
--- a/modules/user_info.py
+++ b/modules/user_info.py
@@ -108,6 +108,7 @@ async def get_full_user_inf(client: Client, message: Message):
except Exception as e:
await message.edit(format_exc(e))
+
modules_help["user_info"] = {
"inf [reply|id|username]": "Get brief information about user",
"inffull [reply|id|username": "Get full information about user",