Docker-WeChatBot-Webhook项目:微信消息推送API详解

Docker-WeChatBot-Webhook项目:微信消息推送API详解

docker-wechatbot-webhook run a wechat bot as a http service, 部署一个支持消息收发的微信 Webhook 机器人🤖 docker-wechatbot-webhook 项目地址: https://gitcode.com/gh_mirrors/do/docker-wechatbot-webhook

项目概述

Docker-WeChatBot-Webhook是一个基于Docker容器化的微信机器人解决方案,它提供了Webhook接口来实现微信消息的自动化发送功能。通过简单的HTTP请求,开发者可以轻松地将消息推送到指定的微信个人或群聊中。

API版本说明

当前文档介绍的是V1版本的API接口,该版本提供了基本的文字和文件消息发送能力。接口设计简洁明了,支持多种消息类型和接收方指定方式。

基础配置

在使用API之前,需要确保:

  1. 服务已正确部署并运行在本地3001端口
  2. 已获取有效的个人访问令牌(PERSONAL_TOKEN)

API端点

基础URL:http://localhost:3001/webhook/msg?token=[YOUR_PERSONAL_TOKEN] 请求方法:POST

消息发送方式

方式一:JSON格式发送(支持文字和文件外链)

请求头: Content-Type: application/json

请求参数

| 参数名 | 说明 | 类型 | 必填 | 默认值 | 备注 | |---------|----------------------------------------------------------------------|--------------------|------|--------|----------------------------------------------------------------------| | to | 消息接收方 | String/Object | 是 | - | 可传字符串(昵称)或对象(如{alias:'备注名'}),群名不支持备注名 | | isRoom | 是否为群消息 | Boolean | 否 | false | true表示发送到群聊,false表示发送到个人 | | type | 消息类型 | String | 是 | text | text:文本消息 fileUrl:文件外链 | | content | 消息内容 | String | 是 | - | 文本内容或文件URL(多个URL用英文逗号分隔) |

技术细节

  1. 文件外链发送时,系统会自动解析URL并下载文件
  2. 消息不会自动拆分,长消息需要手动处理
  3. 群名和个人昵称相同时,需要通过isRoom参数明确指定

示例代码

发送文本消息:

curl --location --request POST 'http://localhost:3001/webhook/msg?token=your_token' \
--header 'Content-Type: application/json' \
--data-raw '{
    "to": "技术交流群",
    "type": "text",
    "content": "大家好,这是测试消息",
    "isRoom": true
}'

发送文件外链:

curl --location --request POST 'http://localhost:3001/webhook/msg?token=your_token' \
--header 'Content-Type: application/json' \
--data-raw '{
    "to": "张三",
    "type": "fileUrl",
    "content": "https://example.com/file1.pdf,https://example.com/file2.jpg"
}'

方式二:FormData格式发送(支持本地文件)

请求头: Content-Type: multipart/form-data

请求参数

| 参数名 | 说明 | 类型 | 必填 | 默认值 | 备注 | |---------|----------------------------------------------------------------------|---------|------|--------|----------------------------------------------------------------------| | to | 消息接收方 | String | 是 | - | 仅支持字符串形式 | | isRoom | 是否为群消息 | String | 否 | "0" | "1"表示群聊,"0"表示个人 | | content | 要发送的文件 | Binary | 是 | - | 一次只能发送一个文件 |

技术细节

  1. 适用于直接上传本地文件
  2. 每次调用只能发送一个文件
  3. 群聊标识使用字符串形式的"1"和"0"

示例代码

curl --location --request POST 'http://localhost:3001/webhook/msg?token=your_token' \
--form 'to="项目通知群"' \
--form content=@"/path/to/your/file.pdf" \
--form 'isRoom=1'

最佳实践建议

  1. 消息接收方处理

    • 对于个人,优先使用备注名({alias:'备注名'}),避免昵称变更导致发送失败
    • 对于群聊,确保群名准确无误
  2. 文件发送

    • 小文件建议使用FormData直接上传
    • 大文件或远程文件建议使用文件外链方式
    • 多个文件需要多次调用API
  3. 错误处理

    • 检查HTTP响应状态码
    • 2xx表示成功
    • 4xx检查token和参数是否正确
    • 5xx服务端错误
  4. 性能考虑

    • 频繁发送消息建议添加适当的延迟
    • 大量消息建议实现队列机制

常见问题解答

Q: 为什么消息发送失败了? A: 请检查:1) token是否正确 2) 接收方是否存在 3) 如果是群聊isRoom参数是否正确设置

Q: 文件发送有什么限制? A: JSON方式只支持外链,FormData方式只支持本地文件且一次一个。文件大小受微信限制。

Q: 如何知道消息是否发送成功? A: API会返回HTTP状态码,2xx表示成功,同时可以检查微信客户端确认。

Q: 能否发送图片、视频等其他类型消息? A: 当前版本支持文本和通用文件发送,具体文件类型能否显示取决于微信客户端。

总结

Docker-WeChatBot-Webhook的V1 API提供了简单易用的微信消息推送接口,通过两种不同的内容类型支持,开发者可以灵活地发送文本和各种文件。理解接收方指定方式和消息类型区别是正确使用该API的关键。后续版本可能会增加更多消息类型和高级功能。

docker-wechatbot-webhook run a wechat bot as a http service, 部署一个支持消息收发的微信 Webhook 机器人🤖 docker-wechatbot-webhook 项目地址: https://gitcode.com/gh_mirrors/do/docker-wechatbot-webhook

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

翟江哲Frasier

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值