from pyrogram.client import Client from pyrogram import filters from pyrogram.types import Message 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_send", "message", locale=msg.from_user.language_code)) 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 hasattr(sender, "first_name") 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, )