From b075b3010def19c49a7a439ee350fcba8fd3ebf3 Mon Sep 17 00:00:00 2001 From: s6tiger Date: Wed, 22 Apr 2026 23:26:29 +0800 Subject: [PATCH] fix: route media files to Feishu send_message pipeline _send_feishu already supports image/video/voice/document attachments, but the upstream router dropped media_files into the non-media branch. Add Feishu to the media routing section so MEDIA: tags work in send_message for Feishu. --- tools/send_message_tool.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tools/send_message_tool.py b/tools/send_message_tool.py index 19da4f55af..0f4d5b3c49 100644 --- a/tools/send_message_tool.py +++ b/tools/send_message_tool.py @@ -528,6 +528,23 @@ async def _send_to_platform(platform, pconfig, chat_id, message, thread_id=None, last_result = result return last_result + # --- Feishu: native file/image/video/voice attachment support --- + if platform == Platform.FEISHU and media_files: + last_result = None + for i, chunk in enumerate(chunks): + is_last = (i == len(chunks) - 1) + result = await _send_feishu( + pconfig, + chat_id, + chunk, + media_files=media_files if is_last else [], + thread_id=thread_id, + ) + if isinstance(result, dict) and result.get("error"): + return result + last_result = result + return last_result + # --- Non-media platforms --- if media_files and not message.strip(): return {