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)