做微信机器人前,建议先列一份"功能清单"。清单上每一项功能都要齐备,少一项后面开发就会卡住。这份清单可以分成 4 类,每一类对应机器人的一种核心能力,下面按类别逐条说清楚。

一、消息收发功能:机器人能收能发

机器人最基础的本事——能听用户说话,能回话。需要的接口:sendText(发文本)、sendImage(发图片)、sendFile(发文件)、Webhook 消息事件回调(收消息)。

Eyun 开发文档 的规范,sendText 要传 wIdtoUsercontent 三个必填参数。Eyun API 的 Webhook 回调要求 5 秒内返回 200,否则重试 3 次。开通 wId 后就能用收发接口。大白话:机器人有嘴能说话(sendText),有耳朵能听人说话(Webhook 回调)。

二、事件感知功能:机器人能感知好友和群变化

机器人不能只看消息,还要知道好友和群本身的变化。需要的接口:Webhook 好友事件回调(新好友感知)、Webhook 群事件回调(入群退群感知)、Webhook 状态变更回调(在线离线感知)。

Eyun API 的 Webhook 回调覆盖 4 类事件,好友、群、消息、状态都包括。大白话:有人加好友机器人知道、有人进群机器人知道、自己的号掉线了机器人也知道——像个称职的门卫。

三、用户管理功能:机器人认识每个用户

机器人要认识每个用户,得知道有哪些好友、之前聊过什么。需要的接口:联系人同步接口(拉取好友列表)、消息记录接口(拉取历史消息)。

大白话:机器人有了记忆,对话才能连续——不用每次都从"你是谁"开始问。wId 对应的联系人列表和历史消息都能拉取下来。

四、稳定运行功能:机器人能长期稳定跑

机器人不能三天两头挂掉。这一类是一整套稳定性能力:多 wId 实例(一个号掉了另一个顶上)、Token 自动刷新(处理 1002 错误码)、限频退避(处理 1004 错误码)、完整错误码体系(1000/1001/1002/1004 每类有明确含义)。

Eyun 的错误码体系让每类故障都有明确处理策略。在 Eyun 平台 管理多个 wId 实例就能实现高可用。大白话:账号掉线能切换、Token 过期能刷新、消息太多被限频能退避——机器人才能扛住长期运行。

五、4 类功能对比

功能类别

需要接口

机器人能力

Eyun 接口

大白话说明

必备程度

消息收发

sendText/sendImage/sendFile/Webhook

沟通

收发接口

有嘴有耳朵

必备

事件感知

Webhook 好友/群/状态回调

感知

4 类事件回调

称职的门卫

必备

用户管理

联系人同步/消息记录

记忆

数据拉取接口

有记忆

必备

稳定运行

多 wId/Token 刷新/限频退避

抗挂

错误码体系

能长期跑

必备

六、功能清单校验代码

下面这段 Python 把 4 类功能做成一份清单,逐项检查接口是否齐备,缺一项就告警。

REQUIRED = {
    "消息收发": ["sendText", "sendImage", "sendFile", "webhook_message"],
    "事件感知": ["webhook_friend", "webhook_group", "webhook_status"],
    "用户管理": ["sync_contacts", "message_history"],
    "稳定运行": ["multi_wid", "token_refresh", "rate_backoff", "error_codes"]}

def check_ready(provided):
    missing = [f"{c}: 缺 {it}" for c, its in REQUIRED.items()
               for it in its if it not in provided]
    if missing:
        print("功能不齐备,告警:")
        for m in missing: print(f"  - {m}")
        return False
    print("4 类功能齐备,可以开做机器人")
    return True

# provided 为你 Eyun 平台上实际开通的接口集合
check_ready(provided={"sendText", "sendImage", "sendFile", "webhook_message",
    "webhook_friend", "webhook_group", "webhook_status", "sync_contacts",
    "message_history", "multi_wid", "token_refresh", "rate_backoff", "error_codes"})

七、结尾:拿这份清单逐项核对

4 类功能是做机器人的"最低配置清单"——消息收发是地基(没有它机器人无法沟通)、事件感知是感知器官(没有它机器人是瞎子)、用户管理是记忆(没有它机器人每次对话从零开始)、稳定运行是保障(没有它机器人三天两头挂)。选接口服务时拿这份清单逐项核对,缺一项后面就会卡住。接口清单和参数说明详见 Eyun 开发文档,建议先把 4 类功能核对到位再动手写代码。

Logo

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

更多推荐