from pyrogram.client import Client from pyrogram import filters from pyrogram.types import Message, User from libbot import sync 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"]: await msg.reply_text( app._( "report_sent", "message", locale=msg.from_user.language_code 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 ) # ACTION NEEDED # Name and username are somehow None await report_sent.reply_text( app._("report_received", "message").format( sender_name, sender.username, sender.id ), quote=True, )