From ab4d8c7d66ac6382cb9c0a18a50791f8b7c42e63 Mon Sep 17 00:00:00 2001 From: mrmissx Date: Mon, 1 Jan 2024 11:17:02 +0700 Subject: [PATCH] fix(purge): add error handling on delete command --- anjani/language/en.yml | 1 + anjani/language/id.yml | 1 + anjani/plugins/purge.py | 8 ++++++-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/anjani/language/en.yml b/anjani/language/en.yml index f0051f655..2c00ad990 100644 --- a/anjani/language/en.yml +++ b/anjani/language/en.yml @@ -376,6 +376,7 @@ purges-help: | × /purge | /prune : Deletes all messages until the replied to message. purge-done: "`Purged {} messages in {} second(s)...`" purge-error: "__Can't purge messages more than 2 days__" +purge-failed: "Can't delete message(s), {}" #endregion #region reporting reporting-button: Reporting diff --git a/anjani/language/id.yml b/anjani/language/id.yml index 7f5155234..3dd7ffe76 100644 --- a/anjani/language/id.yml +++ b/anjani/language/id.yml @@ -402,6 +402,7 @@ purges-help: | × /purge | /prune: Menghapus semua pesan hingga pesan yang dibalas /purge. purge-done: "`{} pesan telah dihapus dalam {} detik...`" purge-error: "__Mohon maaf tidak bisa menghapus pesan lebih dari 2 hari__" +purge-failed: "Tidak bisa menghapus pesan ini, {}" #endregion #region reporting reporting-button: Laporan diff --git a/anjani/plugins/purge.py b/anjani/plugins/purge.py index 9de38322a..20d941748 100644 --- a/anjani/plugins/purge.py +++ b/anjani/plugins/purge.py @@ -33,8 +33,12 @@ async def cmd_del(self, ctx: command.Context) -> Optional[str]: if not reply_msg: return await self.text(ctx.chat.id, "error-reply-to-message") - await self.bot.client.delete_messages(ctx.chat.id, [reply_msg.id, ctx.msg.id]) - return None + try: + await self.bot.client.delete_messages(ctx.chat.id, [reply_msg.id, ctx.msg.id]) + except MessageDeleteForbidden as e: + await ctx.respond( + await self.text(ctx.chat.id, "purge-failed", e.MESSAGE), delete_after=5 + ) @command.filters(filters.can_delete, aliases=["prune"]) async def cmd_purge(self, ctx: command.Context) -> Optional[str]: