from libbot import sync from pyrogram import filters from pyrogram.client import Client from pyrogram.types import Message, User from classes.pyroclient import PyroClient @Client.on_message( ~filters.scheduled & filters.chat(sync.config_get("comments", "posting")) & filters.reply & filters.command(["report"], prefixes=["", "/"]) ) async def command_report(app: PyroClient, msg: Message): if msg.reply_to_message.forward_from_chat.id != app.config["posting"]["channel"]: return user = await app.find_user(msg.from_user) await msg.reply_text( app._( "report_sent", "message", locale=user.locale if msg.from_user is not None else None, ) ) print(msg) report_sent = await msg.reply_to_message.forward(app.owner) sender = msg.from_user if msg.from_user is not None else msg.sender_chat sender_name = sender.first_name if isinstance(sender, User) else sender.title await report_sent.reply_text( app._("report_received", "message", locale=user.locale).format( sender_name, sender.username, sender.id ), quote=True, )