From 15bc6678608d6af011b8ecf0d07c45282d0c0e1b Mon Sep 17 00:00:00 2001 From: "hikari.ftg" Date: Sun, 3 Apr 2022 10:45:08 +0000 Subject: [PATCH] Minor bug fixes --- hikka/inline/core.py | 7 +++++-- hikka/modules/help.py | 6 ------ hikka/modules/hikka_config.py | 6 ------ hikka/modules/hikka_info.py | 6 ------ hikka/modules/hikka_security.py | 8 -------- hikka/modules/hikka_settings.py | 8 ++++++-- hikka/modules/inline_stuff.py | 4 ++-- hikka/modules/quickstart.py | 10 +--------- hikka/security.py | 3 +++ 9 files changed, 17 insertions(+), 41 deletions(-) diff --git a/hikka/inline/core.py b/hikka/inline/core.py index edda19b..2f2e17d 100644 --- a/hikka/inline/core.py +++ b/hikka/inline/core.py @@ -158,10 +158,13 @@ class InlineManager(Gallery, Form, BotInteractions, Events, TokenObtainment): ) for stack_entry in inspect.stack() if hasattr(stack_entry, "function") - and stack_entry.function.endswith("cmd") + and ( + stack_entry.function.endswith("cmd") + or stack_entry.function.endswith("_inline_handler") + ) ) except Exception: - logger.exception("Can't parse security mask in form") + logger.debug("Can't parse security mask in form", exc_info=True) return None async def _register_manager( diff --git a/hikka/modules/help.py b/hikka/modules/help.py index 24b1f18..6d2b8bd 100755 --- a/hikka/modules/help.py +++ b/hikka/modules/help.py @@ -53,12 +53,6 @@ class HelpMod(loader.Module): lambda: "Plain module bullet" ) - def get(self, *args) -> dict: - return self._db.get(self.strings["name"], *args) - - def set(self, *args) -> None: - return self._db.set(self.strings["name"], *args) - async def helphidecmd(self, message: Message) -> None: """ - Hide module(-s) from help *Split modules by spaces""" diff --git a/hikka/modules/hikka_config.py b/hikka/modules/hikka_config.py index 2cb05fe..bf8113e 100755 --- a/hikka/modules/hikka_config.py +++ b/hikka/modules/hikka_config.py @@ -38,12 +38,6 @@ class HikkaConfigMod(loader.Module): "option_saved": "🎚 Configuring option {} of mod {} saved!\nCurrent: {}", } - def get(self, *args) -> dict: - return self._db.get(self.strings["name"], *args) - - def set(self, *args) -> None: - return self._db.set(self.strings["name"], *args) - async def client_ready(self, client, db) -> None: self._db = db self._client = client diff --git a/hikka/modules/hikka_info.py b/hikka/modules/hikka_info.py index cf51f9a..fa38c61 100755 --- a/hikka/modules/hikka_info.py +++ b/hikka/modules/hikka_info.py @@ -32,12 +32,6 @@ class HikkaInfoMod(loader.Module): strings = {"name": "HikkaInfo"} - def get(self, *args) -> dict: - return self._db.get(self.strings["name"], *args) - - def set(self, *args) -> None: - return self._db.set(self.strings["name"], *args) - async def client_ready(self, client, db) -> None: self._db = db self._client = client diff --git a/hikka/modules/hikka_security.py b/hikka/modules/hikka_security.py index 9374ddf..8b2788d 100755 --- a/hikka/modules/hikka_security.py +++ b/hikka/modules/hikka_security.py @@ -89,12 +89,6 @@ class HikkaSecurityMod(loader.Module): "restart": "🔄 Restart may be required to commit changes", } - def get(self, *args) -> dict: - return self._db.get(self.strings["name"], *args) - - def set(self, *args) -> None: - return self._db.set(self.strings["name"], *args) - async def client_ready(self, client, db) -> None: self._db = db self._client = client @@ -232,7 +226,6 @@ class HikkaSecurityMod(loader.Module): def _perms_map(perms: int, is_inline: bool) -> dict: return ( { - "owner": bool(perms & OWNER), "sudo": bool(perms & SUDO), "support": bool(perms & SUPPORT), "group_owner": bool(perms & GROUP_OWNER), @@ -250,7 +243,6 @@ class HikkaSecurityMod(loader.Module): } if not is_inline else { - "owner": bool(perms & OWNER), "sudo": bool(perms & SUDO), "support": bool(perms & SUPPORT), "everyone": bool(perms & EVERYONE), diff --git a/hikka/modules/hikka_settings.py b/hikka/modules/hikka_settings.py index 5b1e8fa..f4ec1d7 100755 --- a/hikka/modules/hikka_settings.py +++ b/hikka/modules/hikka_settings.py @@ -245,7 +245,9 @@ class HikkaSettingsMod(loader.Module): await call.delete() async def inline__update( - self, call: CallbackQuery, confirm_required: bool = False + self, + call: CallbackQuery, + confirm_required: bool = False, ) -> None: if confirm_required: await call.edit( @@ -265,7 +267,9 @@ class HikkaSettingsMod(loader.Module): await self.allmodules.commands["update"](m) async def inline__restart( - self, call: CallbackQuery, confirm_required: bool = False + self, + call: CallbackQuery, + confirm_required: bool = False, ) -> None: if confirm_required: await call.edit( diff --git a/hikka/modules/inline_stuff.py b/hikka/modules/inline_stuff.py index 0182bc1..042f84d 100644 --- a/hikka/modules/inline_stuff.py +++ b/hikka/modules/inline_stuff.py @@ -54,6 +54,8 @@ class InlineStuffMod(loader.Module): id_ = re.search(r"#id: ([a-zA-Z0-9]+)", message.raw_text).group(1) + await message.delete() + m = await message.respond("👩‍🎤 Opening gallery... wait") await self.inline.gallery( @@ -62,8 +64,6 @@ class InlineStuffMod(loader.Module): caption=self.inline._custom_map[id_].get("caption", ""), ) - await message.delete() - async def _check_bot(self, username: str) -> bool: async with self._client.conversation("@BotFather", exclusive=False) as conv: try: diff --git a/hikka/modules/quickstart.py b/hikka/modules/quickstart.py index eb45120..fa445fe 100644 --- a/hikka/modules/quickstart.py +++ b/hikka/modules/quickstart.py @@ -57,15 +57,7 @@ if "OKTETO" in os.environ: class QuickstartMod(loader.Module): """Notifies user about userbot installation""" - strings = { - "name": "Quickstart" - } - - def get(self, *args) -> dict: - return self._db.get(self.strings["name"], *args) - - def set(self, *args) -> None: - return self._db.set(self.strings["name"], *args) + strings = {"name": "Quickstart"} async def client_ready(self, client, db) -> None: self._me = (await client.get_me()).id diff --git a/hikka/security.py b/hikka/security.py index 580d0cb..2831f2d 100755 --- a/hikka/security.py +++ b/hikka/security.py @@ -249,6 +249,9 @@ class SecurityManager: if user in self._db.get(main.__name__, "blacklist_users", []): return False + if message is None: # In case of checking inline query security map + return bool(config & EVERYONE) + if f_group_member and message.is_group or f_pm and message.is_private: return True