2
0
mirror of https://github.com/Nick80835/microbot synced 2025-09-02 07:25:38 +00:00

add maybe broken support for callback queries

This commit is contained in:
Nick80835
2020-06-15 14:23:24 -04:00
parent a2a5eadab5
commit b91cce15ba
2 changed files with 33 additions and 0 deletions

View File

@@ -16,10 +16,12 @@ class CommandHandler():
self.incoming_commands = {}
self.inline_photo_commands = {}
self.inline_article_commands = {}
self.callback_queries = {}
self.logger = logger
self.settings = settings
client.add_event_handler(self.handle_incoming, events.NewMessage(incoming=True))
client.add_event_handler(self.handle_inline, events.InlineQuery())
client.add_event_handler(self.handle_callback_query, events.CallbackQuery())
async def handle_incoming(self, event):
prefix = escape(self.settings.get_config("cmd_prefix") or '.')
@@ -136,6 +138,23 @@ class CommandHandler():
except:
pass
async def handle_callback_query(self, event):
data_str = event.data.decode("utf-8")
data_id = data_str.split("*")[0]
data_data = data_str.lstrip(data_id + "*")
for key, value in self.callback_queries.items():
if key == data_id:
event.args = data_data
event.extras = value["extras"]
try:
await value["function"](event)
except Exception as exception:
self.logger.warn(f"{value['function'].__name__} - {exception}")
await event.reply(f"`An error occurred in {value['function'].__name__}: {exception}`")
raise exception
async def fallback_inline(self, event):
defaults_dict = {**self.inline_photo_commands, **self.inline_article_commands}