diff --git a/gateway/platforms/feishu.py b/gateway/platforms/feishu.py index 718f01e99..da8b369b2 100644 --- a/gateway/platforms/feishu.py +++ b/gateway/platforms/feishu.py @@ -3907,15 +3907,17 @@ class FeishuAdapter(BasePlatformAdapter): reply_to: Optional[str], metadata: Optional[Dict[str, Any]], ) -> Any: - reply_in_thread = bool((metadata or {}).get("thread_id")) - if reply_to: + thread_id = (metadata or {}).get("thread_id") + reply_in_thread = bool(thread_id) + effective_reply_to = reply_to or (thread_id if reply_in_thread else None) + if effective_reply_to: body = self._build_reply_message_body( content=payload, msg_type=msg_type, reply_in_thread=reply_in_thread, uuid_value=str(uuid.uuid4()), ) - request = self._build_reply_message_request(reply_to, body) + request = self._build_reply_message_request(effective_reply_to, body) return await asyncio.to_thread(self._client.im.v1.message.reply, request) body = self._build_create_message_body(