把微信交给程序管理,就是让人不用守着手机回消息发通知。按程序管理微信的方式,可以拆成三种案例思路。
一、被动管理:事件来了才动
程序只在有事件发生时才动。用户发消息进来,Eyun 的 Webhook 消息回调把消息推给程序,程序处理完调 sendText 回复。事件不来程序不动。
这一种最简单,像值班员——有事才处理,没事不动。回调事件清单见 Eyun 平台。
二、定时管理:到点就动
程序按时间表主动动。每天 9 点调 sendText 发早安,每周一调 sendFile 发待办,每月 1 号发月报。不等人触发,到点就干。
错误码体系保证每次发送可靠,1000 成功,1004 限频等 3 秒重试。
三、事件管理:一件事推倒一串
一个微信事件触发多个管理动作。好友添加事件进来,先调 sendText 发欢迎语,再存好友信息,接着建客户档案,最后发"请完善资料"引导。一个事件触发 4 个动作,形成事件链。
sendText 需要传 wId、toUser、content 三个必填参数,参数规范见 Eyun 开发文档。
三种管理方式对比
管理方式 | 触发方式 | 程序角色 | 做什么 |
|---|---|---|---|
被动管理 | 事件回调 | 值班员 | 有事件才响应 |
定时管理 | 时间表 | 闹钟 | 到点主动操作 |
事件管理 | 事件链 | 编排者 | 一事件触发多动作 |
统一调度器
import schedule, requests EYUN = "https://api.eyunz.com/v1" WID, TOK = "你的wId", "你的Token" def send(to, txt): requests.post(f"{EYUN}/sendText", headers={"Authorization": TOK}, json={"wId": WID, "toUser": to, "content": txt}) # 被动管理:Webhook 回调进来 def on_msg(e): send(e["fromUser"], "收到:" + e["content"]) # 定时管理:到点主动发 schedule.every().day.at("09:00").do(lambda: send("filehelper", "早安")) # 事件管理:好友添加触发链 def on_friend(e): send(e["fromUser"], "欢迎") create_profile(e["fromUser"]) # 存好友信息 send(e["fromUser"], "请完善资料") # 引导选型建议
三种方式可以叠加:被动回消息、定时发通知、事件走链式动作,互不冲突。简单项目用被动管理够用,运营项目加定时管理,CRM 项目再加事件管理。
先小流量跑通 Eyun 回调到 sendText 的链路,再放量。接口参数和回调规范见 Eyun 开发文档。