Fix reaction events

This commit is contained in:
Astra Logical 2026-07-22 17:25:34 -04:00
parent f97b8c742d
commit e9e32279dc

View file

@ -112,6 +112,7 @@ async def on_message(client: AsyncClient, room: MatrixRoom, event: RoomMessageTe
parts = body.split(maxsplit=1)
if len(parts) < 2:
await send_message_safe(
client,
room_id=room.room_id,
message_type="m.room.message",
content={"msgtype": "m.notice", "body": "Usage: !request <group_name>"},
@ -188,9 +189,9 @@ async def on_reaction(client: AsyncClient, room: MatrixRoom, event: ReactionEven
if event.sender not in ADMIN_MATRIX_IDS:
return
relates_to = event.content.get("m.relates_to", {})
target_event_id = relates_to.get("event_id")
emoji = relates_to.get("key")
# matrix-nio exposes target event ID and emoji as direct properties
target_event_id = event.reacts_to
emoji = event.key
# Check if this reaction targets an active pending request
if not target_event_id or target_event_id not in pending_requests:
@ -216,8 +217,8 @@ async def on_reaction(client: AsyncClient, room: MatrixRoom, event: ReactionEven
f"has been approved!" if success else f"⚠️ Approval failed: {msg}"
)
await send_message_safe(
client,
room_id=request["origin_room_id"],
message_type="m.room.message",
content={"msgtype": "m.notice", "body": user_msg},
)
@ -228,8 +229,8 @@ async def on_reaction(client: AsyncClient, room: MatrixRoom, event: ReactionEven
)
await send_message_safe(
client,
room_id=request["origin_room_id"],
message_type="m.room.message",
content={
"msgtype": "m.notice",
"body": f"Your request for group '{request['requested_group']}' was denied.",
@ -240,8 +241,8 @@ async def on_reaction(client: AsyncClient, room: MatrixRoom, event: ReactionEven
# Update the original admin room message to reflect resolution status
await send_message_safe(
client,
room_id=ADMIN_ROOM_ID,
message_type="m.room.message",
content={
"msgtype": "m.text",
"body": status_text,