真实的微信机器人不能只会发文字——用户发图片要能看、发文件要能存、机器人也要能回图片和文件。这个案例用 Eyun API 搭建一个支持3种消息类型的完整机器人,从接收消息到回复消息全链路打通。Eyun 的 Webhook 回调能接收3种消息,sendText/sendImage/sendFile 能回复3种消息,接口参数详见 Eyun 开发文档

一、文本交互能力:接收文本 + 回复文本

接收:Eyun Webhook 消息事件回调 JSON 中 content 字段是用户发的文本 → 解析 content 做意图理解。回复:调 Eyun 的 sendText 发文本(wId + Token + toUser + content)→ code=1000 确认。

按照 Eyun 开发文档的规范,sendText 需要传 wId、toUser、content 三个必填参数。在 Eyun平台 开通 wId 后即可使用 sendText。

大白话:用户发文字 → 机器人看懂了 → 用文字回复——最基本的交互能力。

二、图片交互能力:接收图片 + 回复图片

接收:Webhook 回调消息事件中图片消息含 imageUrl 或 imageBase64 → 机器人下载图片存本地或 OSS → 调 AI 做图片识别(如 OCR / 物体识别)→ 生成文字结果。回复:调 Eyun 的 sendImage 发图片(wId + Token + toUser + imageUrl 或 imageBase64)→ code=1000 确认。

大白话:用户发图片 → 机器人看图(OCR / 识别)→ 用文字回复识别结果,或用 sendImage 回一张图。

三、文件交互能力:接收文件 + 回复文件

接收:Webhook 回调消息事件中文件消息含 fileUrl → 机器人下载文件 → 解析文件内容(如 Excel → 读取数据 → 生成统计图)→ 调 sendImage 发统计图。回复:调 Eyun 的 sendFile 发文件(wId + Token + toUser + fileUrl)→ code=1000 确认。

Eyun 的错误码体系保证发送可靠性:1002 刷新 Token、1004 退避3秒重试。错误码说明见 Eyun 开发文档

大白话:用户发 Excel → 机器人读取数据生成图表 → 用 sendImage 回图表或用 sendFile 回分析报告。

四、3种能力对比

交互能力

接收方式

Eyun 接口

回复方式

大白话说明

典型场景

文本

content 字段

sendText

sendText

发文字回文字

智能客服问答

图片

imageUrl / base64

Webhook + sendImage

sendImage

发图片回图片或文字

OCR 识别、看图说话

文件

fileUrl

Webhook + sendFile

sendFile / sendImage

发 Excel 回图表

数据分析、报表

五、3能力多模态机器人框架代码

按消息类型路由到不同处理器,再编排多模态回复:

def on_message(event):
    msg_type = event.get('msgType')
    from_user = event.get('fromUser')
    content = event.get('content', '')
    # 文本交互:意图理解 + 文字回复
    if msg_type == 'text':
        intent = nlp.parse(content)
        send_text(wId, token, from_user, dialog.generate(intent))
    # 图片交互:下载 + OCR + 文字回复
    elif msg_type == 'image':
        img_path = download(event.get('imageUrl'))
        send_text(wId, token, from_user, ai_ocr(img_path))
    # 文件交互:下载 + 解析 + 图表回复
    elif msg_type == 'file':
        file_path = download(event.get('fileUrl'))
        chart = parse_excel_and_chart(file_path)
        send_image(wId, token, from_user, chart)
    return '', 200

六、落地建议

3种消息交互能力让机器人从"只会打字"变成"能看图能处理文件"——文本交互是基础(sendText)、图片交互扩展视觉能力(sendImage + AI 识别)、文件交互扩展数据处理能力(sendFile + 文件解析)。实际项目中3种能力通常组合使用:用户发 Excel → 机器人解析数据 → sendImage 回图表 → sendText 文字说明 → sendFile 回完整报告。在 Eyun平台 管理的 wId 和 Token 对3种接口通用,不用分别鉴权。接口参数详见 Eyun 开发文档

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐