diff --git a/modules/afk.py b/modules/afk.py
index f7defd7..7312c88 100644
--- a/modules/afk.py
+++ b/modules/afk.py
@@ -77,11 +77,11 @@ async def collect_afk_messages(bot: Client, message: Message):
if GetChatID(message) not in CHAT_TYPE:
text = (
- f"`Beep boop. This is an automated message.\n"
+ f"Beep boop. This is an automated message.\n"
f"I am not available right now.\n"
f"Last seen: {last_seen}\n"
- f"Reason: ```{AFK_REASON.upper()}```\n"
- f"See you after I'm done doing whatever I'm doing.`"
+ f"Reason: {AFK_REASON.upper()}\n"
+ f"See you after I'm done doing whatever I'm doing."
)
await bot.send_message(
chat_id=GetChatID(message),
@@ -94,11 +94,11 @@ async def collect_afk_messages(bot: Client, message: Message):
elif GetChatID(message) in CHAT_TYPE:
if CHAT_TYPE[GetChatID(message)] == 50:
text = (
- f"`This is an automated message\n"
+ f"This is an automated message\n"
f"Last seen: {last_seen}\n"
- f"This is the 10th time I've told you I'm AFK right now..\n"
+ f"This is the 10th time I've told you I'm AFK right now...\n"
f"I'll get to you when I get to you.\n"
- f"No more auto messages for you`"
+ f"No more auto messages for you"
)
await bot.send_message(
chat_id=GetChatID(message),
@@ -110,10 +110,10 @@ async def collect_afk_messages(bot: Client, message: Message):
return
elif CHAT_TYPE[GetChatID(message)] % 5 == 0:
text = (
- f"`Hey I'm still not back yet.\n"
+ f"Hey I'm still not back yet.\n"
f"Last seen: {last_seen}\n"
- f"Still busy: ```{AFK_REASON.upper()}```\n"
- f"Try pinging a bit later.`"
+ f"Still busy: {AFK_REASON.upper()}\n"
+ f"Try pinging a bit later."
)
await bot.send_message(
chat_id=GetChatID(message),
@@ -151,8 +151,8 @@ async def afk_unset(bot: Client, message: Message):
if AFK:
last_seen = subtract_time(datetime.now(), AFK_TIME).replace("ago", "").strip()
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`",
+ 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
)
AFK = False
@@ -172,8 +172,8 @@ async def auto_afk_unset(bot: Client, message: Message):
if AFK:
last_seen = subtract_time(datetime.now(), AFK_TIME).replace("ago", "").strip()
reply = await message.reply(
- f"`While you were away (for {last_seen}), you received {sum(USERS.values()) + sum(GROUPS.values())} "
- f"messages from {len(USERS) + len(GROUPS)} chats`",
+ 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,
)
AFK = False
diff --git a/modules/squotes.py b/modules/squotes.py
index 16c0e32..79275cf 100644
--- a/modules/squotes.py
+++ b/modules/squotes.py
@@ -1,421 +1,422 @@
-# Moon-Userbot - telegram userbot
-# Copyright (C) 2020-present Moon Userbot Organization
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
+# # # Moon-Userbot - telegram userbot
+# # # Copyright (C) 2020-present Moon Userbot Organization
+# # #
+# # # This program is free software: you can redistribute it and/or modify
+# # # it under the terms of the GNU General Public License as published by
+# # # the Free Software Foundation, either version 3 of the License, or
+# # # (at your option) any later version.
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+# # # This program is distributed in the hope that it will be useful,
+# # # but WITHOUT ANY WARRANTY; without even the implied warranty of
+# # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# # # GNU General Public License for more details.
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see .
+# # # You should have received a copy of the GNU General Public License
+# # # along with this program. If not, see .
-import base64
-import os
-from io import BytesIO
+# import base64
+# import os
+# from io import BytesIO
-import requests
-from pyrogram import Client, filters, errors, types, enums
+# import requests
+# 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
+# from utils.misc import modules_help, prefix
+# from utils.scripts import with_reply, format_exc, resize_image
-@Client.on_message(filters.command(["q", "quote"], prefix) & filters.me)
-@with_reply
-async def quote_cmd(client: Client, message: types.Message):
- if len(message.command) > 1 and message.command[1].isdigit():
- count = int(message.command[1])
- if count < 1:
- count = 1
- elif count > 15:
- count = 15
- else:
- count = 1
+# @Client.on_message(filters.command(["q", "quote"], prefix) & filters.me)
+# @with_reply
+# async def quote_cmd(client: Client, message: types.Message):
+# if len(message.command) > 1 and message.command[1].isdigit():
+# count = int(message.command[1])
+# if count < 1:
+# count = 1
+# elif count > 15:
+# count = 15
+# else:
+# count = 1
- is_png = "!png" in message.command or "!file" in message.command
- send_for_me = "!me" in message.command or "!ls" in message.command
- no_reply = "!noreply" in message.command or "!nr" in message.command
+# is_png = "!png" in message.command or "!file" in message.command
+# send_for_me = "!me" in message.command or "!ls" in message.command
+# no_reply = "!noreply" in message.command or "!nr" in message.command
- messages = []
+# messages = []
- async for msg in client.iter_history(
- message.chat.id, offset_id=message.reply_to_message.message_id, reverse=True
- ):
- if msg.empty:
- continue
- if msg.message_id >= message.message_id:
- break
- if no_reply:
- msg.reply_to_message = None
+# async for msg in client.get_chat_history(
+# message.chat.id, offset_id=message.reply_to_message.id
+# ):
+# if msg.empty:
+# continue
+# if msg.id >= message.id:
+# break
+# if no_reply:
+# msg.reply_to_message = None
- messages.append(msg)
+# messages.append(msg)
- if len(messages) >= count:
- break
+# if len(messages) >= count:
+# break
- if send_for_me:
- await message.delete()
- message = await client.send_message("me", "Generating...", parse_mode=enums.ParseMode.HTML)
- else:
- await message.edit("Generating...", parse_mode=enums.ParseMode.HTML)
+# if send_for_me:
+# await message.delete()
+# message = await client.send_message("me", "Generating...", parse_mode=enums.ParseMode.HTML)
+# else:
+# await message.edit("Generating...", parse_mode=enums.ParseMode.HTML)
- url = "https://quotes.fl1yd.su/generate"
- params = {
- "messages": [
- await render_message(client, msg) for msg in messages if not msg.empty
- ],
- "quote_color": "#162330",
- "text_color": "#fff",
- }
+# url = "https://quotes.fl1yd.su/generate"
+# params = {
+# "messages": [
+# await render_message(client, msg) for msg in messages if not msg.empty
+# ],
+# "quote_color": "#162330",
+# "text_color": "#fff",
+# }
- response = requests.post(url, json=params)
- if not response.ok:
- return await message.edit(
- f"Quotes API error!\n" f"{response.text}",
- parse_mode=enums.ParseMode.HTML
- )
+# response = requests.post(url, json=params)
+# if not response.ok:
+# return await message.edit(
+# 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...", parse_mode=enums.ParseMode.HTML)
+# resized = resize_image(
+# BytesIO(response.content), img_type="PNG" if is_png else "WEBP"
+# )
+# 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), parse_mode=enums.ParseMode.HTML)
- else:
- await message.delete()
+# 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), parse_mode=enums.ParseMode.HTML)
+# else:
+# await message.delete()
-@Client.on_message(filters.command(["fq", "fakequote"], prefix) & filters.me)
-@with_reply
-async def fake_quote_cmd(client: Client, message: types.Message):
- is_png = "!png" in message.command or "!file" in message.command
- send_for_me = "!me" in message.command or "!ls" in message.command
- no_reply = "!noreply" in message.command or "!nr" in message.command
+# @Client.on_message(filters.command(["fq", "fakequote"], prefix) & filters.me)
+# @with_reply
+# async def fake_quote_cmd(client: Client, message: types.Message):
+# is_png = "!png" in message.command or "!file" in message.command
+# send_for_me = "!me" in message.command or "!ls" in message.command
+# no_reply = "!noreply" in message.command or "!nr" in message.command
- fake_quote_text = " ".join(
- [
- arg
- for arg in message.command[1:]
- if arg not in ["!png", "!file", "!me", "!ls", "!noreply", "!nr"]
- ] # remove some special arg words
- )
+# fake_quote_text = " ".join(
+# [
+# arg
+# for arg in message.command[1:]
+# if arg not in ["!png", "!file", "!me", "!ls", "!noreply", "!nr"]
+# ] # remove some special arg words
+# )
- if not fake_quote_text:
- return await message.edit("Fake quote text is empty", parse_mode=enums.ParseMode.HTML)
+# if not fake_quote_text:
+# 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
- )
- q_message.text = fake_quote_text
- q_message.entities = None
- if no_reply:
- q_message.reply_to_message = None
+# 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:
+# q_message.reply_to_message = None
- if send_for_me:
- await message.delete()
- message = await client.send_message("me", "Generating...", parse_mode=enums.ParseMode.HTML)
- else:
- await message.edit("Generating...", parse_mode=enums.ParseMode.HTML)
+# if send_for_me:
+# await message.delete()
+# message = await client.send_message("me", "Generating...", parse_mode=enums.ParseMode.HTML)
+# else:
+# await message.edit("Generating...", parse_mode=enums.ParseMode.HTML)
- url = "https://quotes.fl1yd.su/generate"
- params = {
- "messages": [await render_message(client, q_message)],
- "quote_color": "#162330",
- "text_color": "#fff",
- }
+# url = "https://quotes.fl1yd.su/generate"
+# params = {
+# "messages": [await render_message(client, q_message)],
+# "quote_color": "#162330",
+# "text_color": "#fff",
+# }
- response = requests.post(url, json=params)
- if not response.ok:
- return await message.edit(
- f"Quotes API error!\n" f"{response.text}",
- parse_mode=enums.ParseMode.HTML
- )
+# response = requests.post(url, json=params)
+# if not response.ok:
+# return await message.edit(
+# 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...", parse_mode=enums.ParseMode.HTML)
+# resized = resize_image(
+# BytesIO(response.content), img_type="PNG" if is_png else "WEBP"
+# )
+# 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), parse_mode=enums.ParseMode.HTML)
- else:
- await message.delete()
+# 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), parse_mode=enums.ParseMode.HTML)
+# else:
+# await message.delete()
-files_cache = {}
+# files_cache = {}
-async def render_message(app: Client, message: types.Message) -> dict:
- async def get_file(file_id) -> str:
- if file_id in files_cache:
- return files_cache[file_id]
+# async def render_message(app: Client, message: types.Message) -> dict:
+# async def get_file(file_id) -> str:
+# if file_id in files_cache:
+# return files_cache[file_id]
- file_name = await app.download_media(file_id)
- with open(file_name, "rb") as f:
- content = f.read()
- os.remove(file_name)
- data = base64.b64encode(content).decode()
- files_cache[file_id] = data
- return data
+# file_name = await app.download_media(file_id)
+# with open(file_name, "rb") as f:
+# content = f.read()
+# os.remove(file_name)
+# data = base64.b64encode(content).decode()
+# files_cache[file_id] = data
+# return data
- # text
- if message.photo:
- text = message.caption if message.caption else ""
- elif message.poll:
- text = get_poll_text(message.poll)
- elif message.sticker:
- text = ""
- else:
- text = get_reply_text(message)
+# # text
+# if message.photo:
+# text = message.caption if message.caption else ""
+# elif message.poll:
+# text = get_poll_text(message.poll)
+# elif message.sticker:
+# text = ""
+# else:
+# text = get_reply_text(message)
- # media
- if message.photo:
- media = await get_file(message.photo.file_id)
- elif message.sticker:
- media = await get_file(message.sticker.file_id)
- else:
- media = ""
+# # media
+# if message.photo:
+# media = await get_file(message.photo.file_id)
+# elif message.sticker:
+# media = await get_file(message.sticker.file_id)
+# else:
+# media = ""
- # entities
- entities = []
- if message.entities:
- for entity in message.entities:
- entities.append(
- {
- "offset": entity.offset,
- "length": entity.length,
- "type": entity.type,
- }
- )
-
- def move_forwards(msg: types.Message):
- if msg.forward_from:
- msg.from_user = msg.forward_from
- if msg.forward_sender_name:
- msg.from_user.id = 0
- msg.from_user.first_name = msg.forward_sender_name
- msg.from_user.last_name = ""
- if msg.forward_from_chat:
- msg.sender_chat = msg.forward_from_chat
- msg.from_user.id = 0
- if msg.forward_signature:
- msg.author_signature = msg.forward_signature
-
- move_forwards(message)
-
- # author
- author = {}
- if message.from_user and message.from_user.id != 0:
- from_user = message.from_user
-
- author["id"] = from_user.id
- author["name"] = get_full_name(from_user)
- if message.author_signature:
- author["rank"] = message.author_signature
- elif message.chat.type != "supergroup" or message.forward_date:
- author["rank"] = ""
- else:
- try:
- member = await message.chat.get_member(from_user.id)
- except errors.UserNotParticipant:
- author["rank"] = ""
- else:
- author["rank"] = getattr(member, "title", "") or (
- "owner"
- if member.status == "creator"
- else "admin"
- if member.status == "administrator"
- else ""
- )
-
- if from_user.photo:
- author["avatar"] = await get_file(from_user.photo.big_file_id)
- elif not from_user.photo and from_user.username:
- # may be user blocked us, we will try to get avatar via t.me
- t_me_page = requests.get(f"https://t.me/{from_user.username}").text
- sub = ' 0
- and link[0]
- and link[0] != "https://telegram.org/img/t_logo.png"
- ):
- # found valid link
- avatar = requests.get(link[0]).content
- author["avatar"] = base64.b64encode(avatar).decode()
- else:
- author["avatar"] = ""
- else:
- author["avatar"] = ""
- else:
- author["avatar"] = ""
- elif message.from_user and message.from_user.id == 0:
- author["id"] = 0
- author["name"] = message.from_user.first_name
- author["rank"] = ""
- else:
- author["id"] = message.sender_chat.id
- author["name"] = message.sender_chat.title
- 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)
- else:
- author["avatar"] = ""
- author["via_bot"] = message.via_bot.username if message.via_bot else ""
-
- # reply
- reply = {}
- reply_msg = message.reply_to_message
- if reply_msg and not reply_msg.empty:
- move_forwards(reply_msg)
-
- if reply_msg.from_user:
- reply["id"] = reply_msg.from_user.id
- reply["name"] = get_full_name(reply_msg.from_user)
- else:
- reply["id"] = reply_msg.sender_chat.id
- reply["name"] = reply_msg.sender_chat.title
-
- reply["text"] = get_reply_text(reply_msg)
-
- return {
- "text": text,
- "media": media,
- "entities": entities,
- "author": author,
- "reply": reply,
- }
+# # entities
+# entities = []
+# if message.entities:
+# for entity in message.entities:
+# entities.append(
+# {
+# "offset": entity.offset,
+# "length": entity.length,
+# "type": str(entity.type),
+# }
+# )
-def get_audio_text(audio: types.Audio) -> str:
- if audio.title and audio.performer:
- return f" ({audio.title} — {audio.performer})"
- elif audio.title:
- return f" ({audio.title})"
- elif audio.performer:
- return f" ({audio.performer})"
- else:
- return ""
+# def move_forwards(msg: types.Message):
+# if msg.forward_from:
+# msg.from_user = msg.forward_from
+# if msg.forward_sender_name:
+# msg.from_user.id = 0
+# msg.from_user.first_name = msg.forward_sender_name
+# msg.from_user.last_name = ""
+# if msg.forward_from_chat:
+# msg.sender_chat = msg.forward_from_chat
+# msg.from_user.id = 0
+# if msg.forward_signature:
+# msg.author_signature = msg.forward_signature
+
+# move_forwards(message)
+
+# # author
+# author = {}
+# if message.from_user and message.from_user.id != 0:
+# from_user = message.from_user
+
+# author["id"] = from_user.id
+# author["name"] = get_full_name(from_user)
+# if message.author_signature:
+# author["rank"] = message.author_signature
+# elif message.chat.type != "supergroup" or message.forward_date:
+# author["rank"] = ""
+# else:
+# try:
+# member = await message.chat.get_member(from_user.id)
+# except errors.UserNotParticipant:
+# author["rank"] = ""
+# else:
+# author["rank"] = getattr(member, "title", "") or (
+# "owner"
+# if member.status == "creator"
+# else "admin"
+# if member.status == "administrator"
+# else ""
+# )
+
+# if from_user.photo:
+# author["avatar"] = await get_file(from_user.photo.big_file_id)
+# elif not from_user.photo and from_user.username:
+# # may be user blocked us, we will try to get avatar via t.me
+# t_me_page = requests.get(f"https://t.me/{from_user.username}").text
+# sub = ' 0
+# and link[0]
+# and link[0] != "https://telegram.org/img/t_logo.png"
+# ):
+# # found valid link
+# avatar = requests.get(link[0]).content
+# author["avatar"] = base64.b64encode(avatar).decode()
+# else:
+# author["avatar"] = ""
+# else:
+# author["avatar"] = ""
+# else:
+# author["avatar"] = ""
+# elif message.from_user and message.from_user.id == 0:
+# author["id"] = 0
+# author["name"] = message.from_user.first_name
+# author["rank"] = ""
+# else:
+# author["id"] = message.sender_chat.id
+# author["name"] = message.sender_chat.title
+# 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)
+# else:
+# author["avatar"] = ""
+# author["via_bot"] = message.via_bot.username if message.via_bot else ""
+
+# # reply
+# reply = {}
+# reply_msg = message.reply_to_message
+# if reply_msg and not reply_msg.empty:
+# move_forwards(reply_msg)
+
+# if reply_msg.from_user:
+# reply["id"] = reply_msg.from_user.id
+# reply["name"] = get_full_name(reply_msg.from_user)
+# else:
+# reply["id"] = reply_msg.sender_chat.id
+# reply["name"] = reply_msg.sender_chat.title
+
+# reply["text"] = get_reply_text(reply_msg)
+
+# return {
+# "text": text,
+# "media": media,
+# "entities": entities,
+# "author": author,
+# "reply": reply,
+# }
-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]))
- )
- 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.voice_chat_started
- else "🎤 ended the video chat"
- if reply.voice_chat_ended
- else "🎤 invited participants to the video chat"
- if reply.voice_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"
- )
+# def get_audio_text(audio: types.Audio) -> str:
+# if audio.title and audio.performer:
+# return f" ({audio.title} — {audio.performer})"
+# elif audio.title:
+# return f" ({audio.title})"
+# elif audio.performer:
+# return f" ({audio.performer})"
+# else:
+# return ""
-def get_poll_text(poll: types.Poll) -> str:
- text = get_reply_poll_text(poll) + "\n"
-
- text += poll.question + "\n"
- for option in poll.options:
- text += f"- {option.text}"
- if option.voter_count > 0:
- text += f" ({option.voter_count} voted)"
- text += "\n"
-
- text += f"Total: {poll.total_voter_count} voted"
-
- return text
+# def get_reply_text(reply: types.Message) -> str:
+# return (
+# ""
+# if reply.reply_photo
+# else get_reply_poll_text(reply.reply_poll)
+# if reply.reply_poll
+# else "📍 Location"
+# if reply.reply_location or reply.reply_venue
+# else "👤 Contact"
+# if reply.reply_contact
+# else "🖼 GIF"
+# if reply.reply_animation
+# else "🎧 Music" + get_audio_text(reply.reply_audio)
+# if reply.reply_audio
+# else "📹 Video"
+# if reply.reply_video
+# else "📹 Videomessage"
+# if reply.reply_video_note
+# else "🎵 Voice"
+# if reply.reply_voice
+# else (reply.reply_sticker.emoji + " " if reply.reply_sticker.emoji else "") + "Sticker"
+# if reply.reply_sticker
+# else "💾 File " + reply.reply_document.file_name
+# if reply.reply_document
+# else "🎮 Game"
+# if reply.reply_game
+# else "🎮 set new record"
+# if reply.reply_game_high_score
+# else f"{reply.reply_dice.emoji} - {reply.reply_dice.value}"
+# if reply.reply_dice
+# else (
+# "👤 joined the group"
+# if reply.reply_new_chat_members[0].id == reply.reply_from_user.id
+# else "👤 invited %s to the group"
+# % (get_full_name(reply.reply_new_chat_members[0]))
+# )
+# if reply.reply_new_chat_members
+# else (
+# "👤 left the group"
+# if reply.reply_left_chat_member.id == reply.reply_from_user.id
+# else "👤 removed %s" % (get_full_name(reply.reply_left_chat_member))
+# )
+# if reply.reply_left_chat_member
+# else f"✏ changed group name to {reply.reply_new_chat_title}"
+# if reply.reply_new_chat_title
+# else "🖼 changed group photo"
+# if reply.reply_new_chat_photo
+# else "🖼 removed group photo"
+# if reply.reply_delete_chat_photo
+# else "📍 pinned message"
+# if reply.reply_pinned_message
+# else "🎤 started a new video chat"
+# if reply.reply_voice_chat_started
+# else "🎤 ended the video chat"
+# if reply.reply_voice_chat_ended
+# else "🎤 invited participants to the video chat"
+# if reply.reply_voice_chat_members_invited
+# else "👥 created the group"
+# if reply.reply_group_chat_created or reply.reply_supergroup_chat_created
+# else "👥 created the channel"
+# if reply.reply_channel_chat_created
+# else reply.reply_text or "unsupported message"
+# )
-def get_reply_poll_text(poll: types.Poll) -> str:
- if poll.is_anonymous:
- text = "📊 Anonymous poll" if poll.type == "regular" else "📊 Anonymous quiz"
- else:
- text = "📊 Poll" if poll.type == "regular" else "📊 Quiz"
- if poll.is_closed:
- text += " (closed)"
+# def get_poll_text(poll: types.Poll) -> str:
+# text = get_reply_poll_text(poll) + "\n"
- return text
+# text += poll.question + "\n"
+# for option in poll.options:
+# text += f"- {option.text}"
+# if option.voter_count > 0:
+# text += f" ({option.voter_count} voted)"
+# text += "\n"
+
+# text += f"Total: {poll.total_voter_count} voted"
+
+# return text
-def get_full_name(user: types.User) -> str:
- name = user.first_name
- if user.last_name:
- name += " " + user.last_name
- return name
+# def get_reply_poll_text(poll: types.Poll) -> str:
+# if poll.is_anonymous:
+# text = "📊 Anonymous poll" if poll.type == "regular" else "📊 Anonymous quiz"
+# else:
+# text = "📊 Poll" if poll.type == "regular" else "📊 Quiz"
+# if poll.is_closed:
+# text += " (closed)"
+
+# return text
-modules_help["squotes"] = {
- "q [reply]* [count 1-15] [!png] [!me] [!noreply]": "Generate a quote\n"
- "Available options: !png — send as PNG, !me — send quote to"
- "saved messages, !noreply — generate quote without reply",
- "fq [reply]* [!png] [!me] [!noreply] [text]*": "Generate a fake quote",
-}
+# def get_full_name(user: types.User) -> str:
+# name = user.first_name
+# if user.last_name:
+# name += " " + user.last_name
+# return name
+
+
+# modules_help["squotes"] = {
+# "q [reply]* [count 1-15] [!png] [!me] [!noreply]": "Generate a quote\n"
+# "Available options: !png — send as PNG, !me — send quote to"
+# "saved messages, !noreply — generate quote without reply",
+# "fq [reply]* [!png] [!me] [!noreply] [text]*": "Generate a fake quote",
+# }
diff --git a/requirements.txt b/requirements.txt
index 5f0ae21..75f2dc3 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,4 @@
-pyrogram==2.0.106
+pyrofork
tgcrypto
wheel
pygments