From 0b79d78715d6440fb3770a4a3352af7946a81236 Mon Sep 17 00:00:00 2001 From: nikita Date: Sat, 12 Sep 2026 23:01:48 +0300 Subject: [PATCH] Fixed RoomEncryptedFilter --- src/mab/context.py | 3 +++ src/mab/filters/room.py | 10 ++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/mab/context.py b/src/mab/context.py index b424179..bb5ab42 100644 --- a/src/mab/context.py +++ b/src/mab/context.py @@ -31,6 +31,9 @@ CTX_CMD_VERB = ContextDataKey[str]("CTX_CMD_VERB") CTX_CMD_ARGS = ContextDataKey[list[str]]("CTX_CMD_ARGS") """Arguments that were passed with the command""" +CTX_ROOM_ENCRYPTED = ContextDataKey[bool]("CTX_ROOM_ENCRYPTED") +"""True if the room is encrypted""" + # # EventContext implementation diff --git a/src/mab/filters/room.py b/src/mab/filters/room.py index f699cf3..12e87f0 100644 --- a/src/mab/filters/room.py +++ b/src/mab/filters/room.py @@ -1,7 +1,6 @@ from .base import BaseEventFilter -from nio import AsyncClient -from nio import MatrixRoom, Event +from ..context import EventContext, CTX_ROOM_ENCRYPTED class RoomEncryptedFilter(BaseEventFilter): """ @@ -10,8 +9,11 @@ class RoomEncryptedFilter(BaseEventFilter): def __init__(self): super().__init__() - async def __call__(self, room: MatrixRoom, event: Event, client: AsyncClient) -> bool: + async def __call__(self, context: EventContext) -> bool: + if not await super().__call__(context): + return False try: - return room.encrypted + context[CTX_ROOM_ENCRYPTED] = context.room.encrypted + return context.room.encrypted except: return False \ No newline at end of file