From 0e2b4a44979cbd95b207622a143af9277dbfe461 Mon Sep 17 00:00:00 2001 From: anima Date: Wed, 18 Feb 2026 18:25:15 +0100 Subject: [PATCH] add reaction validate and instance check --- skills/helper.py | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/skills/helper.py b/skills/helper.py index 2bb2e29..3536d36 100644 --- a/skills/helper.py +++ b/skills/helper.py @@ -1,25 +1,43 @@ import logging import time import asyncio -from nio import RoomMessageText +from nio import RoomMessageText, ReactionEvent logging.basicConfig(format='[%(asctime)s] %(process)s {%(filename)s:%(lineno)d} %(levelname)s - %(message)s', level=logging.INFO) class BotHelper: """a helper class for frequently need actions""" __AUTHOR__ = 'anima' - __VERSION__ = '0.0.2' + __VERSION__ = '0.3.1' def __init__(self, client): self.client = client self.starttime = int(time.time() * 1000) def validate_message(self, event: RoomMessageText): """validate incomming messages befor bot start his work""" + if not isinstance(event, RoomMessageText): + logging.debug(f"message hast wrong type") + return False if self.client.user == event.sender: - logging.debug(f"no reaction on messgaes from bot it self") + logging.debug(f"no reaction on messages from bot it self") return False if self.starttime > event.server_timestamp: - logging.debug(f"no reaction on messgaes befor bot start") + logging.debug(f"no reaction on messages befor bot start") + return False + return True + + def validate_reaction(self, event: ReactionEvent): + """validate incomming reactions befor bot start his work""" + if isinstance(event, ReactionEvent): + logging.debug(f"reaction hast wrong type") + return False + if self.client.user == event.sender: + logging.debug(f"no reaction on reactions from bot it self") + return False + if self.starttime > event.server_timestamp: + print(f"{self.starttime=}") + print(f"{event.server_timestamp=}") + logging.debug(f"no reaction on reactions befor bot start") return False return True