From 924466671c3b98b7d738816ddf1e985bef0706ea Mon Sep 17 00:00:00 2001 From: Abhi <85984486+AbhiTheModder@users.noreply.github.com> Date: Sun, 27 Jul 2025 15:41:40 +0530 Subject: [PATCH] fix sangmata module --- modules/sgb.py | 46 +++++++++++++++++++--------------------------- 1 file changed, 19 insertions(+), 27 deletions(-) diff --git a/modules/sgb.py b/modules/sgb.py index 8b1a822..ceada81 100644 --- a/modules/sgb.py +++ b/modules/sgb.py @@ -14,47 +14,39 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -import asyncio -from pyrogram import Client, enums, filters +from pyrogram import Client, filters +from pyrogram.errors import YouBlockedUser from pyrogram.types import Message -from pyrogram.errors import RPCError +from utils.conv import Conversation from utils.misc import modules_help, prefix -from utils.scripts import edit_or_reply +from utils.scripts import format_exc @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") 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 - ) - except RPCError: - 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 - await client.send_message(id, user_id, parse_mode=enums.ParseMode.MARKDOWN) - await asyncio.sleep(2) - 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 - ) - return - await lol.delete() - await opt.copy(chat) + await message.edit("Processing please wait") + bot_username = "@SangMata_beta_bot" + async with Conversation(client, bot_username, timeout=15) as conv: + await conv.send_message(str(user_id)) + response = await conv.get_response(timeout=10) + if "you have used up your quota" in response.text: + await message.edit(response.text.splitlines()[0]) + return + return await message.edit(response.text) + except YouBlockedUser: + await message.edit("Please unblock @SangMata_beta_bot first.") + except TimeoutError: + await message.edit("No response from bot within the timeout period.") + except Exception as e: + await message.edit(f"Error: {format_exc(e)}") modules_help["sangmata"] = {"sgb": "reply to any user"}