From 96afa2fb333f462e50b40004087a4891c2e04c55 Mon Sep 17 00:00:00 2001 From: hikariatama Date: Mon, 16 May 2022 15:41:15 +0000 Subject: [PATCH] Minor fixes - Add additional config options to `HikkaInfo` - Delete all update messages in update notifier --- hikka/modules/hikka_info.py | 16 ++++++++++++++-- hikka/modules/update_notifier.py | 32 ++++++++++++++++++++------------ 2 files changed, 34 insertions(+), 14 deletions(-) diff --git a/hikka/modules/hikka_info.py b/hikka/modules/hikka_info.py index d944808..1f693d8 100755 --- a/hikka/modules/hikka_info.py +++ b/hikka/modules/hikka_info.py @@ -38,6 +38,7 @@ class HikkaInfoMod(loader.Module): "update_required": "⚠️ Update required .update", "_cfg_cst_msg": "Custom message for info. May contain {me}, {version}, {build}, {prefix}, {platform} keywords", "_cfg_cst_btn": "Custom button for info", + "_cfg_banner": "Type `True` in order to disable an image banner", } strings_ru = { @@ -52,6 +53,7 @@ class HikkaInfoMod(loader.Module): "update_required": "⚠️ Требуется обновление .update", "_cfg_cst_msg": "Кастомный текст сообщения в info. Может содержать ключевые слова {me}, {version}, {build}, {prefix}, {platform}", "_cfg_cst_btn": "Кастомная кнопка в сообщении в info", + "_cfg_banner": "Впиши `True`, чтобы отключить баннер-картинку", } def __init__(self): @@ -66,6 +68,11 @@ class HikkaInfoMod(loader.Module): "🌘 Support chat|https://t.me/hikka_talks", lambda: self.strings("_cfg_cst_btn"), ), + loader.ConfigValue( + "disable_banner", + False, + lambda: self.strings("_cfg_banner"), + ), ) async def client_ready(self, client, db): @@ -92,7 +99,8 @@ class HikkaInfoMod(loader.Module): platform = utils.get_named_platform() return ( - self.config["custom_message"].format( + "🌘 Hikka\n" + + self.config["custom_message"].format( me=me, version=version, build=build, @@ -136,7 +144,11 @@ class HikkaInfoMod(loader.Module): "text": self.config["custom_button"].split("|")[0], "url": self.config["custom_button"].split("|")[1], }, - photo="https://i.imgur.com/qW1j9U6.jpeg", + **( + {"photo": "https://i.imgur.com/qW1j9U6.jpeg"} + if not self.config["disable_banner"] + else {} + ), ) @loader.unrestricted diff --git a/hikka/modules/update_notifier.py b/hikka/modules/update_notifier.py index f65a73a..2a6296b 100644 --- a/hikka/modules/update_notifier.py +++ b/hikka/modules/update_notifier.py @@ -128,14 +128,7 @@ class UpdateNotifierMod(loader.Module): self._notified = self._pending self.set("ignore_permanent", False) - if self.get("upd_msg"): - try: - await self.inline.bot.delete_message( - self._tg_id, - self.get("upd_msg"), - ) - except Exception: - pass + await self._delete_all_upd_messages() self.set("upd_msg", m.message_id) except Exception: @@ -145,6 +138,16 @@ class UpdateNotifierMod(loader.Module): await asyncio.sleep(60) + async def _delete_all_upd_messages(self): + for client in self.allclients: + try: + await client.loader.inline.bot.delete_message( + client._tg_id, + client.loader._db.get("UpdateNotifier", "upd_msg"), + ) + except Exception: + pass + async def update_callback_handler(self, call: InlineCall): """Process update buttons clicks""" if call.data not in {"hikka_update", "hikka_upd_ignore"}: @@ -160,9 +163,14 @@ class UpdateNotifierMod(loader.Module): f"{self.get_prefix()}update --force", ) - await self.inline.bot.delete_message( - call.message.chat.id, - call.message.message_id, - ) + await self._delete_all_upd_messages() + + try: + await self.inline.bot.delete_message( + call.message.chat.id, + call.message.message_id, + ) + except Exception: + pass await self.allmodules.commands["update"](m)