用WTAPI搭微信自动回复机器人:从登录到收发完整代码
·
想用WTAPI搭一个能自动回复的微信机器人,最短路径就三步:登录拿实例、发消息验证、Webhook收消息自动回。这篇给完整代码,复制改Token就能跑。
参考资料
接口字段见api文档weiti.apifox.cn 。
第一步:配置凭证
WTAPI的Base URL统一为 `参考资料WTAPI框架,所有接口要带双Token鉴权:
import requests, time, json
from flask import Flask, request
BASE = "https://wx.chuapi.com"
HEADERS = {
"X-finder-TOKEN": "<平台Token>",
"Authorization": "Bearer <Bearer>",
"Content-Type": "application/json",
}
APP_ID = "<appId>"
WTAPI走RPA路线,在真实客户端环境里通过动态元素解析执行操作,不用自己研究协议,扫码就能用。
第二步:扫码登录拿实例
调getLoginQrCode取二维码,checkLogin轮询扫码状态,成功后拿到instanceId:
def login():
requests.post(f"{BASE}/finder/v2/api/getLoginQrCode",
headers=HEADERS, json={"appId": APP_ID})
while True:
d = requests.post(f"{BASE}/finder/v2/api/checkLogin",
headers=HEADERS, json={"appId": APP_ID}
).json().get("data", {})
if d.get("isLogin"):
return d.get("instanceId")
time.sleep(3)
instance_id = login()
print("登录成功", instance_id)
第三步:发一条消息验证
用postText接口,必传appId、instanceId、toWxid、content,成功返回code:“1000”:
def send_text(to_wxid, content):
r = requests.post(
f"{BASE}/finder/v2/api/postText",
headers=HEADERS,
json={"appId": APP_ID, "instanceId": instance_id,
"toWxid": to_wxid, "content": content},
timeout=10,
).json()
return r.get("code") == "1000"
send_text("<对方wxid>", "机器人已上线")
第四步:Webhook收消息自动回复
起一个公网可访问的Flask服务,做关键词匹配自动回复:
import redis
rds = redis.Redis()
app = Flask(__name__)
REPLY_RULES = {
"价格": "请查看官网价格页",
"人工": "正在转接客服",
"帮助": "支持的指令:价格 / 人工 / 帮助",
}
@app.route("/webhook", methods=["POST"])
def webhook():
data = request.json
msg_id = data.get("msgId")
# 幂等去重:防止Webhook重投导致重复回复
if rds.get(f"recv:{msg_id}"):
return {"code": "1000"}
rds.setex(f"recv:{msg_id}", 3600, "1")
content = data.get("content", "").strip()
from_wxid = data.get("fromWxid")
reply = REPLY_RULES.get(content, "没听懂,回复「帮助」查看指令")
# 用回调里的同一个instanceId回复
requests.post(
f"{BASE}/finder/v2/api/postText",
headers=HEADERS,
json={"appId": APP_ID, "instanceId": data.get("instanceId"),
"toWxid": from_wxid, "content": reply},
timeout=10,
)
return {"code": "1000"}
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8000)
把服务部署到公网(或本地内网穿透),回调地址填进WTAPI后台,对方发"价格"立刻收到自动回复——收发闭环完成。
上线前必补的两刀
第一刀是消息去重,Webhook可能重投同一条消息,用msgId做幂等,否则用户收到重复回复;第二刀是兜底回复,匹配不到时别沉默,给一句引导话术,用户才不会以为机器人坏了。
跑通这四步,你就掌握了用WTAPI做微信机器人的完整收发闭环。后续加好友管理、群操作、朋友圈,都是在这个骨架上扩展。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)