Skip to content

基于MiraiGo的客户端,使用反向 websocket 收发私聊、群聊消息,消息格式类似onebot。支持多账号,很稳定

License

Notifications You must be signed in to change notification settings

TMSTB/Go-Mirai-Client

 
 

Repository files navigation

Go-Mirai-Client

QQ群

用于收发QQ消息,并通过 websocket + protobuf 上报给 server 进行处理。

支持的开发语言:Java/Kotlin , JavaScript , Python , Golang , C/C++ , 易语言 。详情查看 Protobufbot

可以使用其他任意语言编写websocket server实现通信,协议:onebot_idl

有问题发issue,或者进QQ群335783090

使用说明

  1. 启动程序

    • Windows 非专业用户在 Releases 下载带有lorca 的版本,启动时会自动打开UI界面(需要Edge/Chrome浏览器,安装在默认位置)。
    • 专业用户可以下载不带有lorca的版本,手动打开浏览器地址http://localhost:9000/,端口号可以通过-port 9000 参数修改,Linux服务器可以远程访问http://<服务器地址>:9000
  2. 创建机器人

    • 建议选择扫码创建,使用机器人账号直接扫码,点击确认后登录。
    • 使用密码创建可能处理验证码。
    • 每次登录必须使用相同随机种子(数字),否则容易冻结。(建议使用账号作为随机种子)
  3. 配置消息处理器

    • 在首次启动自动生成的gmc_config.json中配置服务器URL,修改后重启生效。
    • 如果使用其他人编写的程序,建议把gmc_config.json打包在一起发送给用户。

验证码类型及处理方法

使用密码登录会遇到验证码,点击机器人下方图标处理验证码,处理验证码时必须用到浏览器。

  1. 设备锁验证码:复制链接到手机打开处理,可能需要扫码,如果添加参数-sms会优先使用短信验证码。
  2. 短信验证码:直接输入短信内容提交。
  3. 滑块验证码:使用滑块验证助手

运行参数

Usage of GMC:
  -uin int
        机器人QQ
  -pass string
        机器人密码
  -port int
        http管理端口(默认 9000), 0表示随机, 如果不需要处理验证码, 可以随便填
  -sms bool
        登录优先使用短信验证
  -ws_url string
        消息处理websocket服务器地址
  -device string
        设备文件位置
  -help
        帮助

自动登陆

有2种方式可以实现自动登录。

  1. 发送HTTP请求自动登录 支持多账号
  2. 使用运行参数自动登录 只能单账号

发送HTTP请求自动登录

启动程序后,通过编写脚本,发送请求实现自动登录POST http://localhost/bot/create/v1/

{
  "bot_id": 123,
  "password": "xxx",
  "device_seed": 123
}

使用运行参数自动登录

Windows

创建一个文件,后缀为.bat,写入以下内容,双击运行

Go-Mirai-Client.exe -uin <机器人QQ> -pass <机器人密码> -port <HTTP端口> -device <设备信息位置> -ws_url <消息处理器地址> -sms <是否优先短信登录>

Linux

创建一个文件,后缀为.sh,写入以下内容,添加执行权限,运行

chmod +x ./Go-Mirai-Client

./Go-Mirai-Client -uin <机器人QQ> -pass <机器人密码> -port <HTTP端口> -device <设备信息位置> -ws_url <消息处理器地址> -sms <是否优先短信登录>

多开

每次启动必须使用不同端口,默认使用9000端口。可以通过指定参数-port 9000修改端口,端口设置为0表示随机端口。

Docker

docker run -it \
--name=gmc \
-p 9000:9000 \
-e UIN=<账号> \
-e PASS=<密码> \
-e WS_URL=<WebSocket地址> \
-e DEVICE=/deivce/123.json \
-v <设备文件目录>:/deivce \
lz1998/gmc:0.1.19

修改协议

修改device文件的protocol,对应关系如下:

  • IPad: 0
  • AndroidPhone: 1
  • AndroidWatch: 2
  • MacOS: 3
  • 企点: 4

输入其他数字默认表示IPad

About

基于MiraiGo的客户端,使用反向 websocket 收发私聊、群聊消息,消息格式类似onebot。支持多账号,很稳定

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 97.4%
  • Shell 1.9%
  • Other 0.7%