"能做多少事"换个问法就是 Eyun 接口覆盖了哪些功能域。把 Eyun 提供的接口按功能域拆开看,一个微信机器人能做的事情就清晰了——下面按5个功能域分别说清楚每个域有哪些接口、能做什么、不能做什么。

功能域1:消息收发域

这是机器人的"嘴和耳"。收消息靠 Webhook 消息事件回调(4类事件回调之一),发消息靠 sendText(文本)/sendImage(图片)/sendFile(文件)。按照 Eyun 开发文档的规范,sendText 需要传 wId、toUser、content 三个必填参数。大白话:能听(回调收消息)能说(sendText 发消息),这是最基本的域,没这个域机器人就不算机器人。

功能域2:好友管理域

管好友列表和好友关系。事件源是 Eyun API 的4类事件回调中的好友事件(谁加了你、谁删了你),配合联系人同步接口拉好友列表,再用好友操作接口加好友/删好友/改备注。好友操作接口的完整参数清单见 Eyun 开发文档。大白话:知道谁加了你、能拉好友名单、能主动加人删人。

功能域3:群聊管理域

管群和群成员。Eyun 的 Webhook 回调覆盖群事件(进群、退群、群消息),加上群信息接口查群列表和群成员,再调群操作接口建群、踢人、邀请。大白话:管群——知道有哪些群、群里有谁、能建群踢人邀请。

功能域4:内容发送域

发不同类型的内容。sendText 发文本、sendImage 发图片、sendFile 发文件,需要发链接/名片/小程序时用对应接口。在 Eyun 平台 管理的 wId 决定了从哪个号发出去。大白话:不只能发文字,还能发图片和文件——微信里能发的东西基本都能发。

功能域5:状态监控域

监控微信实例运行状态。状态变更事件回调(在线、离线、异常)是主信号,配合实例状态查询接口,加上 Eyun 的错误码体系(比如 1002 表示 Token 过期),一起构成监控面。大白话:盯着微信号"活着没有"——掉线了立刻知道。

5个功能域对比

功能域

包含什么

用什么 Eyun 接口

能做什么

不能做什么

大白话

消息收发

收消息+发消息

Webhook消息回调+sendText/sendImage/sendFile

听+说

不懂语义

嘴和耳

好友管理

好友关系

好友事件回调+联系人同步+好友操作

加删改查好友

不管群

管好友名单

群聊管理

群+群成员

群事件回调+群信息接口+群操作接口

建群踢人邀请

不管好友

管群

内容发送

多媒体发送

sendText/sendImage/sendFile 等

发图文文件

不管消息来源

发各种内容

状态监控

实例状态

状态事件回调+状态查询+错误码

监控掉线

不发消息

盯着活着没

5域功能调用骨架

# 消息收发:收到消息回一句
def on_message(msg):
    sendText(wId="xxx", toUser=msg["fromUser"], content="收到")

# 好友管理:新增好友自动通过
def on_friend(evt):
    if evt["type"] == "add":
        accept_friend(wId="xxx", userId=evt["userId"])

# 群聊管理:建群拉人
def create_group(members):
    create_group(wId="xxx", members=members)

# 内容发送:发文件
def send_doc(to_user, path):
    sendFile(wId="xxx", toUser=to_user, path=path)

# 状态监控:掉线告警
def on_status(evt):
    if evt["status"] == "offline":
        alert_admin("wId 掉线")

结尾:先定域,再开干

5个功能域覆盖了微信机器人的全部能力面——消息收发是核心域(90%项目都在用),好友管理和群聊管理是扩展域(社交运营场景用得多),内容发送是增强域(多媒体场景用),状态监控是保障域(运维保命用)。做机器人之前先确定一件事:你的项目需要哪些域。

最简单的项目只需要消息收发域(2个接口就能跑起来),复杂的项目才需要全部5域同时上。功能域和接口清单可以参考 Eyun 开发文档,wId 实例在 Eyun 平台 开通。落地建议:先把消息收发域跑通,再按业务加其他域——别一上来就5域全上,容易绕晕。

Logo

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

更多推荐