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