拉取镜像
docker pull dannicool/docker-wechatbot-webhook
创建我们的容器:
docker run \
-d \
--name wxBotWebhook \
-p 3001:3001 \
-e RECVD_MSG_API=http://192.168.31.100:8080/api \
-e DISABLE_AUTO_LOGIN=true
-e LOGIN_API_TOKEN=abc
-v ~/wxBot_logs:/app/log \
dannicool/docker-wechatbot-webhook
RECVD_MSG_API是接收消息webhook的地址,post请求
DISABLE_AUTO_LOGIN:服务重启时自动登录微信号。
LOGIN_API_TOKEN:自定义登录 API token。
登录机器人账号 服务部署成功时,通过访问:token是刚才设置的
https://localhost:3001/login?token=abc
webhook接收消息
在容器部署的时候我们指定过一个环境变量RECVD_MSG_API。当机器人收到消息时会将消息主体以POST形式推送到该接口上。
{
"type": "text",
"content": "你好",
"source": "{}",
"isMentioned": "0",
"isMsgFromSelf": "0",
"isSystemEvent": "0"
}
消息类型对应的有:
功能类型:文字消息 text、链接卡片 urlLink、图片 视频 附件 语音 file、添加好友邀请 friendship。
系统类型:登录 system_event_login、登出 system_event_logout、异常报错 system_event_error、 快捷回复后消息推送状态通知 system_event_push_notify。
其他类型:未实现的消息类型 unknown。
处理收到的消息
{
"success": true,
"data": {
"type": "text",
"content": "hello world!"
}
}
发送文本消息
我们通过向API接口推送指定的消息结构即可完成消息的发送。
curl --location --request POST 'http:
--header 'Content-Type: application/json' \
--data-raw '{
"to": "好友昵称",
"data": {
"type": "text" ,
"content": "你好👋"
}
}'
参数解析:
to:消息接收方,传入String 默认是发给昵称(群名同理), 传入Object 结构支持发给备注过的人,比如:{alias: '备注名'},群名不支持备注名。
type:消息类型, 字段留空或者为text解析为纯文本。也可以填写fileUrl表示发送此链接的文件给好友。
content:消息内容,如果希望发多个Url并解析,type 指定为 fileUrl 同时,content 里填 url 以英文逗号分隔。
isRoom:是否发给群消息(true/false),这个参数决定了找人的时候找的是群还是人(默认发送给人),因为昵称其实和群名相同在技术处理上。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!