From f4661e7404d8246c434b37945f79022cbf89c170 Mon Sep 17 00:00:00 2001 From: profitroll Date: Mon, 26 Jun 2023 23:10:09 +0200 Subject: [PATCH] /report command added --- locale/en.json | 2 +- locale/uk.json | 2 +- plugins/commands/report.py | 24 +++++++++++++++++++----- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/locale/en.json b/locale/en.json index 533bd33..f07791b 100644 --- a/locale/en.json +++ b/locale/en.json @@ -62,7 +62,7 @@ "update_available": "**New version found**\nThere's a newer version of a bot found. You can update your bot to [{0}]({1}) using command line of your host.\n\n**Release notes**\n{2}\n\nRead more about updating you bot on the [wiki page](https://git.end-play.xyz/profitroll/TelegramPoster/wiki/Updating-Instance).\n\nPlease not that you can also disable this notification by editing `reports.update` key of the config.", "shutdown_confirm": "There are {0} unfinished users' contexts. If you turn off the bot, those will be lost. Please confirm shutdown using a button below.", "report_sent": "We've notified admins about presumable violation. Thank you for cooperation.", - "report_received": "This message has been reported by {0} (@{1}, `{2}`)" + "report_received": "This message has been reported by **{0}** (@{1}, `{2}`)" }, "button": { "sub_yes": "✅ Accept", diff --git a/locale/uk.json b/locale/uk.json index 84a0371..128e39a 100644 --- a/locale/uk.json +++ b/locale/uk.json @@ -62,7 +62,7 @@ "update_available": "**Знайдено нову версію**\nЗнайдено нову версію бота. Ви можете оновити бота до [{0}]({1}) за допомогою командного рядка вашого хосту.\n\n**Примітки до релізу**\n{2}\n\nДетальніше про оновлення бота можна знайти на [вікі-сторінці](https://git.end-play.xyz/profitroll/TelegramPoster/wiki/Updating-Instance).\n\nЗверніть увагу, що ви також можете вимкнути це сповіщення, відредагувавши ключ `reports.update` у конфігурації.", "shutdown_confirm": "Існує {0} незавершених контекстів користувачів. Якщо ви вимкнете бота, вони будуть втрачені. Будь ласка, підтвердіть вимкнення за допомогою кнопки нижче.", "report_sent": "Ми повідомили адміністрацію про потенційне порушення. Дякую за співпрацю.", - "report_received": "На це повідомлення було отримано скаргу від {0} (@{1}, `{2}`)" + "report_received": "На це повідомлення було отримано скаргу від **{0}** (@{1}, `{2}`)" }, "button": { "sub_yes": "✅ Прийняти", diff --git a/plugins/commands/report.py b/plugins/commands/report.py index 2f88752..063fe4b 100644 --- a/plugins/commands/report.py +++ b/plugins/commands/report.py @@ -1,6 +1,6 @@ from pyrogram.client import Client from pyrogram import filters -from pyrogram.types import Message +from pyrogram.types import Message, User from libbot import sync from classes.pyroclient import PyroClient @@ -13,16 +13,30 @@ from classes.pyroclient import PyroClient ) 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)) + 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 hasattr(sender, "first_name") else sender.title + 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), + app._("report_received", "message").format( + sender_name, sender.username, sender.id + ), quote=True, - ) \ No newline at end of file + )