基于MiraiGo的客户端,使用反向 websocket 收发私聊、群聊消息,消息格式类似onebot。支持多账号,很稳定
只支持单账号登录,如需多账号登录,请放不同文件夹内,例如
Files
|- File one
| |- gmc.exe
| |- session.token
| |- deviceInfo.toml
| |- logs
| | |- 2023-06-30.log
| | |- latest.log
| |- plugins
| | |- default.json
| |- device
| | |- device-1688014725597.json
|- File two
| |- gmc.exe
| |- session.token
| |- deviceInfo.toml
| |- logs
| | |- 2023-06-30.log
| | |- latest.log
| |- plugins
| | |- default.json
| |- device
| | |- device-1688014725597.json
用于收发QQ消息,并通过 websocket + protobuf 上报给 server 进行处理。
支持的开发语言:Java/Kotlin , JavaScript , TypeScript , Python , Golang , C/C++ , 易语言 。详情查看 Protobufbot 。
可以使用其他任意语言编写websocket server实现通信,协议:onebot_idl
有问题发issue,或者进QQ群335783090
必须是AndroidPhone协议且子频道通知开启(关闭通知将无法接收消息)【订不订阅无所谓】
已支持频道API的SDK有 JavaScript , TypeScript , Golang
启动程序
lorca
的版本,启动时会自动打开UI界面(需要Edge/Chrome浏览器,安装在默认位置)。lorca
的版本,手动打开浏览器地址http://localhost:9000/
,端口号可以通过-port 9000
参数修改,Linux服务器可以远程访问http://<服务器地址>:9000
。创建机器人
配置消息处理器
gmc_config.json
中配置服务器URL,修改后重启生效。gmc_config.json
打包在一起发送给用户。使用密码登录会遇到验证码,点击机器人下方图标处理验证码,处理验证码时必须用到浏览器。
-sms
会优先使用短信验证码。Usage of GMC:
-uin int
机器人QQ
-pass string
机器人密码
-port int
http管理端口(默认 9000), 0表示随机, 如果不需要处理验证码, 可以随便填
-sms bool
登录优先使用短信验证
-ws_url string
消息处理websocket服务器地址
-device string
设备文件位置
-help
帮助
有2种方式可以实现自动登录。
启动程序后,通过编写脚本,发送请求实现自动登录POST http://localhost/bot/create/v1/
{
"bot_id": 123,
"password": "xxx",
"device_seed": 123
}
创建一个文件,后缀为.bat
,写入以下内容,双击运行
Go-Mirai-Client.exe -uin <机器人QQ> -pass <机器人密码> -port <HTTP端口> -device <设备信息位置> -ws_url <消息处理器地址> -sms <是否优先短信登录>
创建一个文件,后缀为.sh
,写入以下内容,添加执行权限,运行
chmod +x ./Go-Mirai-Client
./Go-Mirai-Client -uin <机器人QQ> -pass <机器人密码> -port <HTTP端口> -device <设备信息位置> -ws_url <消息处理器地址> -sms <是否优先短信登录>
每次启动必须使用不同端口,默认使用9000端口。可以通过指定参数-port 9000
修改端口,端口设置为0表示随机端口。
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