Eyun微信执行中枢免费测试 教程/文档/开发
2026/5/24 7:58:03 网站建设 项目流程

1. 为什么要用 Webhook 接收消息?
开发微信机器人,最重要的一步是“让代码知道别人发了什么”。
很多旧框架采用循环轮询(每隔1秒问一次服务器有没有新消息),这不仅极度消耗服务器资源,还会导致消息延迟。
Eyun API 采用标准的 Webhook(网络钩子)机制。当你的微信号收到消息时,Eyun 中枢会主动向你的服务器发送一个 HTTP POST 请求,把消息以规范的 JSON 格式“推”给你的代码。这种方式零延迟、不占资源。

2. 本地测试的“内网穿透”准备
因为 Eyun 在云端,它无法直接访问你本地电脑的 [http://127.0.0.1](http://127.0.0.1)
。在本地测试开发时,我们需要用工具把本地端口映射到公网。
推荐使用 cwt、ngrok 或 localtunnel。以 localtunnel 为例,在终端执行:

lt --port 5000

你会获得一个公网域名,例如:[https://gentle-wolf-88.localtunnel.me](https://gentle-wolf-88.localtunnel.me)

把这个域名加上
/webhook 路由,拼接成 [https://gentle-wolf-88.localtunnel.me/webhook](https://gentle-wolf-88.localtunnel.me/webhook),填入 Eyun 控制台的 Webhook 配置项中。

3. 完整 Webhook 接收端源码(Python)
我们使用极简的 Flask 框架来搭建这个接收端。请先安装依赖:pip install flask requests。
编写 server.py:

#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Eyun 微信机器人开发系列教程 - 第二篇 功能:接收 Eyun 微信执行中枢的 Webhook 消息流 """ import json from flask import Flask, request, jsonify app = Flask(__name__) @app.route("/webhook", methods=["POST"]) def eyun_webhook_listener(): """ 监听 Eyun 平台推送过来的微信事件 """ # 1. 解析 Eyun 推送的 JSON 数据 payload = request.json if not payload: return jsonify({"code": 400, "message": "Invalid JSON data"}), 400 # 2. 打印完整的 JSON 报文结构,方便开发者研究文档 print("\n" + "="*20 + " 收到 Eyun 消息事件 " + "="*20) print(json.dumps(payload, indent=4, ensure_ascii=False)) print("="*50 + "\n") # 3. 提取核心元数据 event_type = payload.get("event_type") # 事件类型:私聊、群聊、登录状态变更等 node_id = payload.get("node_id") # 触发该事件的微信节点 ID event_data = payload.get("data", {}) # 4. 根据不同的事件类型,分发执行不同的业务逻辑 if event_type == "message.private": # 个人私聊消息 sender_wxid = event_data.get("sender") # 发送者的微信ID msg_content = event_data.get("content") # 消息文本内容 msg_id = event_data.get("msg_id") # 消息唯一标识 print(f"【私聊】节点[{node_id}]收到来自[{sender_wxid}]的消息: {msg_content} (ID: {msg_id})") elif event_type == "message.group": # 群聊消息 room_id = event_data.get("room_id") # 群聊的房间ID sender_wxid = event_data.get("sender") # 发言人的微信ID msg_content = event_data.get("content") # 消息文本内容 print(f"【群聊】群[{room_id}]内[{sender_wxid}]发言: {msg_content}") elif event_type == "node.status": # 节点状态变更事件(如微信掉线或上线) new_status = event_data.get("status") print(f"【系统】您的微信节点[{node_id}]状态变更为: {new_status}") # 5. 必须及时给 Eyun 中枢返回 200 状态码,否则中枢会判定你的服务器超时并尝试重试 return jsonify({"code": 200, "message": "Event processed successfully"}), 200 if __name__ == "__main__": # 启动本地服务,监听 5000 端口 # 在生产环境中建议部署在公网服务器上,并配合 Gunicorn 运行 app.run(host="0.0.0.0", port=5000)

4. 关键数据文档拆解
当你启动上述服务器,并在微信里给机器人发一条消息时,控制台会打印出如下结构的 JSON。请仔细观察它的规范设计:

{ "event_type": "message.private", "node_id": "personal_bot_v1", "timestamp": 1716200000, "data": { "msg_id": "847291048291048201", "sender": "wxid_ab123cd456", "receiver": "wxid_robot_self", "content": "测试消息内容", "msg_type": 1 } }

event_type:这是你的“路由方向盘”。做开发时,先通过它判断是群聊还是私聊。
• node_id:当你有多个微信号托管在 Eyun 时,这个字段能告诉你这条消息是哪个微信号收到的。
• sender 和 room_id:后续我们编写“回复消息”接口时,这两个字段就是我们要填写的接收人目标地址。
掌握了这个回调机制,你的机器人就已经睁开了眼睛。

引导入口

Eyun——微信执行中枢开发文档

Eyun——微信执行中枢

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询