diff --git a/api/core/tools/provider/builtin/wecom/tools/wecom_group_bot.py b/api/core/tools/provider/builtin/wecom/tools/wecom_group_bot.py index aca10e6a7f..fb44b70f4e 100644 --- a/api/core/tools/provider/builtin/wecom/tools/wecom_group_bot.py +++ b/api/core/tools/provider/builtin/wecom/tools/wecom_group_bot.py @@ -22,7 +22,21 @@ class WecomGroupBotTool(BuiltinTool): return self.create_text_message( f'Invalid parameter hook_key ${hook_key}, not a valid UUID') - msgtype = 'text' + message_type = tool_parameters.get('message_type', 'text') + if message_type == 'markdown': + payload = { + "msgtype": 'markdown', + "markdown": { + "content": content, + } + } + else: + payload = { + "msgtype": 'text', + "text": { + "content": content, + } + } api_url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send' headers = { 'Content-Type': 'application/json', @@ -30,12 +44,6 @@ class WecomGroupBotTool(BuiltinTool): params = { 'key': hook_key, } - payload = { - "msgtype": msgtype, - "text": { - "content": content, - } - } try: res = httpx.post(api_url, headers=headers, params=params, json=payload) diff --git a/api/core/tools/provider/builtin/wecom/tools/wecom_group_bot.yaml b/api/core/tools/provider/builtin/wecom/tools/wecom_group_bot.yaml index ece1bbc927..379005a102 100644 --- a/api/core/tools/provider/builtin/wecom/tools/wecom_group_bot.yaml +++ b/api/core/tools/provider/builtin/wecom/tools/wecom_group_bot.yaml @@ -38,3 +38,27 @@ parameters: pt_BR: Content to sent to the group. llm_description: Content of the message form: llm + - name: message_type + type: select + default: text + required: true + label: + en_US: Wecom Group bot message type + zh_Hans: 群机器人webhook的消息类型 + pt_BR: Wecom Group bot message type + human_description: + en_US: Wecom Group bot message type + zh_Hans: 群机器人webhook的消息类型 + pt_BR: Wecom Group bot message type + options: + - value: text + label: + en_US: Text + zh_Hans: 文本 + pt_BR: Text + - value: markdown + label: + en_US: Markdown + zh_Hans: Markdown + pt_BR: Markdown + form: form