diff --git a/hikka/inline/events.py b/hikka/inline/events.py index 3476ab7..b47b6af 100644 --- a/hikka/inline/events.py +++ b/hikka/inline/events.py @@ -114,8 +114,7 @@ class Events(InlineUnit): thumb_width=128, thumb_height=128, reply_markup=self._generate_markup( - res.get("reply_markup", None), - prepare_callbacks=True, + res.get("reply_markup", None) ), ) ] diff --git a/hikka/inline/utils.py b/hikka/inline/utils.py index 0e43c70..ed3f3c9 100644 --- a/hikka/inline/utils.py +++ b/hikka/inline/utils.py @@ -29,8 +29,6 @@ class Utils(InlineUnit): def _generate_markup( self, form_uid: Union[str, list], - /, - prepare_callbacks: bool = False, ) -> Union[None, InlineKeyboardMarkup]: """Generate markup for form or list of `dict`s""" if not form_uid: @@ -44,6 +42,8 @@ class Utils(InlineUnit): map_ = self._normalize_markup(map_) + setup_callbacks = False + for row in map_: for button in row: if not isinstance(button, dict): @@ -52,6 +52,7 @@ class Utils(InlineUnit): if "callback" in button and "_callback_data" not in button: button["_callback_data"] = utils.rand(30) + setup_callbacks = True if "input" in button and "_switch_query" not in button: button["_switch_query"] = utils.rand(10) @@ -81,7 +82,7 @@ class Utils(InlineUnit): callback_data=button["_callback_data"], ) ] - if prepare_callbacks: + if setup_callbacks: self._custom_map[button["_callback_data"]] = { "handler": button["callback"], **( @@ -124,6 +125,20 @@ class Utils(InlineUnit): callback_data=button["data"], ) ] + elif "switch_inline_query_current_chat" in button: + line += [ + InlineKeyboardButton( + button["text"], + switch_inline_query_current_chat=button["switch_inline_query_current_chat"] + ) + ] + elif "switch_inline_query" in button: + line += [ + InlineKeyboardButton( + button["text"], + switch_inline_query_current_chat=button["switch_inline_query"] + ) + ] else: logger.warning( "Button have not been added to " diff --git a/hikka/langpacks/ru.json b/hikka/langpacks/ru.json index 44dba47..caf7332 100644 --- a/hikka/langpacks/ru.json +++ b/hikka/langpacks/ru.json @@ -816,5 +816,7 @@ "hikka.modules.hikka_info.prefix": "Префикс команд", "hikka.modules.hikka_info.send_info": "Отправить информацию о юзерботе", "hikka.modules.hikka_info.description": "ℹ Это не раскроет никакой личной информации", - "hikka.modules.hikka_info._ihandle_doc_info": "Отправить информацию о юзерботе" + "hikka.modules.hikka_info._ihandle_doc_info": "Отправить информацию о юзерботе", + "hikka.modules.hikka_info.up-to-date": "✅ Актуальная версия", + "hikka.modules.hikka_info.update_required": "⚠️ Требуется обновление .update" } \ No newline at end of file diff --git a/hikka/modules/hikka_dl.py b/hikka/modules/hikka_dl.py index 6bed3b8..978dfab 100644 --- a/hikka/modules/hikka_dl.py +++ b/hikka/modules/hikka_dl.py @@ -14,7 +14,6 @@ from .. import loader import logging import asyncio -from .._types import LoadError import json import re import websockets @@ -119,7 +118,7 @@ class HikkaDLMod(loader.Module): await r.delete() if not token.startswith("kirito_") and not token.startswith("asuna_"): - raise LoadError("Can't get token") + raise loader.LoadError("Can't get token") self.set("token", token) diff --git a/hikka/modules/hikka_info.py b/hikka/modules/hikka_info.py index 259222e..11a6d74 100755 --- a/hikka/modules/hikka_info.py +++ b/hikka/modules/hikka_info.py @@ -33,6 +33,8 @@ class HikkaInfoMod(loader.Module): "prefix": "Command prefix", "send_info": "Send userbot info", "description": "ℹ This will not compromise any sensitive info", + "up-to-date": "✅ Up-to-date", + "update_required": "⚠️ Update required .update", } async def client_ready(self, client, db): @@ -48,9 +50,9 @@ class HikkaInfoMod(loader.Module): repo = git.Repo() diff = repo.git.log(["HEAD..origin/master", "--oneline"]) upd = ( - "⚠️ Update required .update" + self.strings("update_required") if diff - else "✅ Up-to-date" + else self.strings("up-to-date") ) except Exception: upd = "" diff --git a/hikka/modules/update_notifier.py b/hikka/modules/update_notifier.py index 81756ce..ad84a89 100644 --- a/hikka/modules/update_notifier.py +++ b/hikka/modules/update_notifier.py @@ -19,8 +19,6 @@ import logging import git from typing import Union -from .._types import LoadError - logger = logging.getLogger(__name__) @@ -77,7 +75,7 @@ class UpdateNotifierMod(loader.Module): try: git.Repo() except Exception as e: - raise LoadError("Can't load due to repo init error") from e + raise loader.LoadError("Can't load due to repo init error") from e self._markup = self.inline._generate_markup( [ diff --git a/hikka/version.py b/hikka/version.py index fc7f1e9..3a59cd5 100644 --- a/hikka/version.py +++ b/hikka/version.py @@ -1 +1 @@ -__version__ = (1, 1, 8) +__version__ = (1, 1, 9)