Categorygithub.com/Ccheers/wxbot
repositorypackage
0.0.2
Repository: https://github.com/ccheers/wxbot.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

fork from wxBot4g 是基于go的微信机器人

技术

  • gin(http框架)
  • cron(定时任务)
  • etree(解析xml)
  • viper(配置文件读取)
  • logrus(日志框架)
  • go-qrcode(登陆二维码生成)

目前支持的消息类型

好友消息

  • 文本
  • 图片
  • 地理位置
  • 个人名片
  • 语音
  • 小视频
  • 动画

群消息

  • 文本
  • 图片
  • 地理位置
  • 个人名片
  • 语音
  • 动画

TODO功能

  • 提供restful api,发送消息到指定好友/群
  • 文件/图片上传阿里云oss
  • 监听指定群报警
  • 聊天记录中文分析,情感分析

使用例子

24行代码就实现微信机器人的监听消息功能

package main

import (
    "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(消息类型)

数据类型编号数据类型说明
0Init初始化消息,内部数据
1Self自己发送的消息
2FileHelper文件消息
3Group群消息
4Contact联系人消息
5Public公众号消息
6Special特殊账号消息
51获取wxid获取wxid消息
99Unknown未知账号消息

MsgTypeId(数据类型)

数据类型编号数据类型说明
0Text文本消息的具体内容
1Location地理位置
3Image图片数据的url,HTTP POST请求此url可以得到jpg文件格式的数据
4Voice语音数据的url,HTTP POST请求此url可以得到mp3文件格式的数据
5Recommend包含 nickname (昵称), alias (别名),province (省份),city (城市), gender (性别)字段
6Animation动画url, HTTP POST请求此url可以得到gif文件格式的数据
7Share字典,包含 type (类型),title (标题),desc (描述),url (链接),from (源网站)字段
8Video视频,未支持
9VideoCall视频电话,未支持
10Redraw撤回消息
11Empty内容,未支持
99Unknown未支持

功能api

发送文本消息(好友/群)

http://127.0.0.1:7788/v1/msg/text?to=测试群&word=你好, 测试一下&appKey=khr1244o1oh

发送图片消息(好友/群)

请参考wxBot4g/wcbot/imageHandle_test.go

v1.1

  • 增加终端二维码扫码登录
  • 增加api,发送文本、图片消息到指定群
  • 增加单元测试