Minor fixes

- Add additional config options to `HikkaInfo`
- Delete all update messages in update notifier
pull/1/head
hikariatama 2022-05-16 15:41:15 +00:00
parent 8f5e879dc4
commit 96afa2fb33
2 changed files with 34 additions and 14 deletions

View File

@ -38,6 +38,7 @@ class HikkaInfoMod(loader.Module):
"update_required": "⚠️ Update required </b><code>.update</code><b>",
"_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": "⚠️ Требуется обновление </b><code>.update</code><b>",
"_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(
"<b>🌘 Hikka</b>\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

View File

@ -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"<code>{self.get_prefix()}update --force</code>",
)
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)