diff --git a/tools/send_message_tool.py b/tools/send_message_tool.py index 19da4f55a..0f4d5b3c4 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 {