From 99f40eadb048f920aa1181e738ebe5c583a31a1d Mon Sep 17 00:00:00 2001 From: SantaSpeen Date: Fri, 14 Jul 2023 22:29:37 +0300 Subject: [PATCH] Add returns from ev.call_events --- src/modules/EventsSystem/events_system.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/modules/EventsSystem/events_system.py b/src/modules/EventsSystem/events_system.py index 9a2be8e..513b024 100644 --- a/src/modules/EventsSystem/events_system.py +++ b/src/modules/EventsSystem/events_system.py @@ -9,9 +9,10 @@ class EventsSystem: def __init__(self): # TODO: default events self.__events = { - "on_started": [self.on_started], - "on_stop": [self.on_stop], - "on_auth": [self.on_auth] + "on_started": [], + "auth_sent_key": [], + "auth_ok": [], + "chat_receive": [], } self.log = get_logger("EventsSystem") @@ -31,11 +32,20 @@ class EventsSystem: else: self.__events[event_name].append(event_func) - def call_event(self, event_name, *data): + def call_event(self, event_name, *args, **kwargs): self.log.debug(f"Using event '{event_name}'") + funcs_data = [] + if event_name in self.__events.keys(): - for event in self.__events[event_name]: - event(*data) + for func in self.__events[event_name]: + try: + funcs_data.append(func({"event_name": event_name, "args": args, "kwargs": kwargs})) + except Exception as e: + # TODO: i18n + self.log.error(f'Error while calling "{event_name}"; In function: "{func.__name__}"') + self.log.exception(e) else: # TODO: i18n self.log.warning(f"Event {event_name} does not exist. Just skipping it...") + + return funcs_data