From 8a4d83e2c103ff8c4b6d4f101426ef0dfaa9177d Mon Sep 17 00:00:00 2001 From: Eyejoker Date: Sun, 29 Mar 2026 19:22:01 +0900 Subject: [PATCH] fix: let both bots see each other's messages in paired rooms for natural ping-pong --- src/message-runtime-rules.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/message-runtime-rules.ts b/src/message-runtime-rules.ts index da9145e..a7d31f2 100644 --- a/src/message-runtime-rules.ts +++ b/src/message-runtime-rules.ts @@ -104,10 +104,14 @@ export function getProcessableMessages( messages: Parameters[0], channel?: Channel, ) { + const isPaired = isPairedRoomJid(chatJid); return filterProcessableMessages( messages, - isPairedRoomJid(chatJid), - channel?.isOwnMessage?.bind(channel), + isPaired, + // In paired rooms (unified mode), don't filter by isOwnMessage — + // both bots need to see each other's messages for the ping-pong flow. + // Loop prevention is handled by filterLoopingPairedBotMessages + round_trip_count. + isPaired ? undefined : channel?.isOwnMessage?.bind(channel), ).filter((message) => !isTaskStatusControlMessage(message.content)); }