仓库:MuZiCul/webhook(原创)· 语言:Python (Flask) · 定位:配合 docker-wechatbot-webhook 的消息处理钩子
一个 Flask Webhook 服务,配合 dannicool/docker-wechatbot-webhook 容器使用:微信机器人收到消息后,容器把消息转发到本地的 /webhook 端点,由 Flask 处理后续逻辑。
微信消息
↓
docker-wechatbot-webhook 容器(端口 3001)
↓ RECVD_MSG_API 转发
Flask /webhook(端口 5000)
↓
自定义处理逻辑(自动回复/入库/触发任务)
app.py)from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
@app.route('/webhook')
def webhook():
return 'Hello, World!'
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
当前是最小骨架——两个路由都返回 Hello World,真正的业务逻辑留待扩展。host='0.0.0.0' 确保容器/局域网可访问。
docker-compose.yaml)version: '3.8'
services:
wxBotWebhook:
image: dannicool/docker-wechatbot-webhook
container_name: wxbot_app
volumes:
- ./wxBot_logs:/app/log # 日志持久化
ports:
- "3001:3001" # 登录/管理端口
environment:
- LOG_LEVEL=info
# - DISABLE_AUTO_LOGIN=true # 是否每次都需扫码登录
- ACCEPT_RECVD_MSG_MYSELF=true # 机器人接收自己发的消息
- RECVD_MSG_API=http://192.168.100.153:5000/webhook # 收到消息转发到此
- LOGIN_API_TOKEN=L1105537173 # 登录页 Token:http://localhost:3001/login?token=xxx
restart: unless-stopped
关键配置项:
- RECVD_MSG_API:消息转发目标地址——这是整个架构的"钩子",把机器人收到的消息桥接到自建服务
- LOGIN_API_TOKEN:保护扫码登录页面,防止他人恶意登录你的机器人
- ACCEPT_RECVD_MSG_MYSELF:是否接收自己发的消息(调试时有用)
- DISABLE_AUTO_LOGIN:关闭后扫码一次即记住登录态
docker-compose up -d
# 访问 http://localhost:3001/login?token=L1105537173 扫码登录
这是一个事件桥接的最小实现,重点在架构思路:
RECVD_MSG_API 桥接到任意自建 HTTP 服务我另外的 ikuuu、WZRYTYF 也都用企业微信/Server 酱推送,这个 webhook 是想把微信消息也接进自动化任务,既能收指令也能推结果。
使用微信机器人需遵守平台规则,避免用于群发/营销等违规场景。