import asyncio import random from pyrogram import Client, filters from pyrogram.types import Message from pyrogram.raw.functions.messages import DeleteHistory from Devine import userbot as us, app from Devine.core.userbot import assistants @app.on_message(filters.command(["sg", "sang", "sangmeta"])) async def sg(client: Client, message: Message): if len(message.command) < 2 and not message.reply_to_message: return await message.reply("ᴘʀᴏᴠɪᴅᴇ ᴀ ᴜsᴇʀɴᴀᴍᴇ, ᴜsᴇʀ ɪᴅ, ᴏʀ ʀᴇᴘʟʏ ᴛᴏ ᴀ ᴜsᴇʀ's ᴍᴇssᴀɢᴇ.") if message.reply_to_message: args = message.reply_to_message.from_user.id else: args = message.text.split()[1] lol = await message.reply("ᴘʀᴏᴄᴇssɪɴɢ...") try: user = await client.get_users(f"{args}") except Exception: return await lol.edit("sᴘᴇᴄɪғʏ ᴀ ᴠᴀʟɪᴅ ᴜsᴇʀ !") bo = ["sangmata_bot", "sangmata_beta_bot"] sg = random.choice(bo) if 1 in assistants: ubot = us.one try: a = await ubot.send_message(sg, f"{user.id}") await a.delete() except Exception as e: return await lol.edit(f"Error: {e}") await asyncio.sleep(1) async for stalk in ubot.search_messages(a.chat.id): if stalk.text is None: continue if not stalk: await message.reply("ᴛʜᴇ ʙᴏᴛ ɪs ᴜɴʀᴇsᴘᴏɴsɪᴠᴇ.") elif stalk: await message.reply(f"{stalk.text}") break # Exit the loop after displaying one message try: user_info = await ubot.resolve_peer(sg) await ubot.send(DeleteHistory(peer=user_info, max_id=0, revoke=True)) except Exception: pass await lol.delete()