Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/liangjfblue/wxbot4g
wxBot4g 是基于go的微信机器人
https://github.com/liangjfblue/wxbot4g
bot gin golang wechat
Last synced: 2 months ago
JSON representation
wxBot4g 是基于go的微信机器人
- Host: GitHub
- URL: https://github.com/liangjfblue/wxbot4g
- Owner: liangjfblue
- Created: 2019-10-23T12:43:39.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-02-09T20:37:37.000Z (almost 2 years ago)
- Last Synced: 2024-06-20T01:58:25.371Z (7 months ago)
- Topics: bot, gin, golang, wechat
- Language: Go
- Size: 52.7 KB
- Stars: 32
- Watchers: 2
- Forks: 10
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
wxBot4g 是基于go的微信机器人
## 技术
- gin(http框架)
- cron(定时任务)
- etree(解析xml)
- viper(配置文件读取)
- logrus(日志框架)
- go-qrcode(登陆二维码生成)## 目前支持的消息类型
### 好友消息
- [x] 文本
- [x] 图片
- [x] 地理位置
- [x] 个人名片
- [x] 语音
- [x] 小视频
- [ ] 动画### 群消息
- [x] 文本
- [x] 图片
- [x] 地理位置
- [x] 个人名片
- [x] 语音
- [ ] 动画### TODO功能
- [x] 提供restful api,发送消息到指定好友/群
- [ ] 文件/图片上传阿里云oss
- [ ] 监听指定群报警
- [ ] 聊天记录中文分析,情感分析## 使用例子
24行代码就实现微信机器人的监听消息功能
```
package mainimport (
"wxBot4g/models"
"wxBot4g/pkg/define"
"wxBot4g/wcbot""github.com/sirupsen/logrus"
)func HandleMsg(msg models.RealRecvMsg) {
logrus.Debug("MsgType: ", msg.MsgType, " ", " MsgTypeId: ", msg.MsgTypeId)
logrus.Info(
"消息类型:", define.MsgIdString(msg.MsgType), " ",
"数据类型:", define.MsgTypeIdString(msg.MsgTypeId), " ",
"发送人:", msg.SendMsgUSer.Name, " ",
"内容:", msg.Content.Data)
}func main() {
bot := wcbot.New(HandleMsg)
bot.Debug = true
bot.Run()
}
```## 消息类型和数据类型
### MsgType(消息类型)
| 数据类型编号 | 数据类型 | 说明 |
| ------------ | ---------- | -------------------- |
| 0 | Init | 初始化消息,内部数据 |
| 1 | Self | 自己发送的消息 |
| 2 | FileHelper | 文件消息 |
| 3 | Group | 群消息 |
| 4 | Contact | 联系人消息 |
| 5 | Public | 公众号消息 |
| 6 | Special | 特殊账号消息 |
| 51 | 获取wxid | 获取wxid消息 |
| 99 | Unknown | 未知账号消息 |### MsgTypeId(数据类型)
| 数据类型编号 | 数据类型 | 说明 |
| ------------ | --------- | ------------------------------------------------------------ |
| 0 | Text | 文本消息的具体内容 |
| 1 | Location | 地理位置 |
| 3 | Image | 图片数据的url,HTTP POST请求此url可以得到jpg文件格式的数据 |
| 4 | Voice | 语音数据的url,HTTP POST请求此url可以得到mp3文件格式的数据 |
| 5 | Recommend | 包含 nickname (昵称), alias (别名),province (省份),city (城市), gender (性别)字段 |
| 6 | Animation | 动画url, HTTP POST请求此url可以得到gif文件格式的数据 |
| 7 | Share | 字典,包含 type (类型),title (标题),desc (描述),url (链接),from (源网站)字段 |
| 8 | Video | 视频,未支持 |
| 9 | VideoCall | 视频电话,未支持 |
| 10 | Redraw | 撤回消息 |
| 11 | Empty | 内容,未支持 |
| 99 | Unknown | 未支持 |## 功能api
### 发送文本消息(好友/群)
```
http://127.0.0.1:7788/v1/msg/text?to=测试群&word=你好, 测试一下&appKey=khr1244o1oh
```### 发送图片消息(好友/群)
请参考`wxBot4g/wcbot/imageHandle_test.go`
v1.1
- 增加终端二维码扫码登录
- 增加api,发送文本、图片消息到指定群
- 增加单元测试