https://github.com/yyuueexxiinngg/cqhttp-mirai
https://github.com/LQBing/docker-cqhttp-mirai
海外: lqbing/cqhttp-mirai
docker pull lqbing/cqhttp-mirai
国内: registry.cn-hongkong.aliyuncs.com/lqbing/cqhttp-mirai
docker pull registry.cn-hongkong.aliyuncs.com/lqbing/cqhttp-mirai
PS: 第一次使用往往会要求输入验证码,有时候还会给个网址复制链接然后手机QQ扫描二维码验证。所以第一次不能直接挂后台,运行需要docker run -it
运行来通过验证程序。
有两种方式启动:
1 使用.env文件配置QQ账号密码等信息快速运行,但是只能单账号运行
2 挂载配置文件的方式运行(多个用户的情况下用环境变量无法满足需求,可以用挂载配置文件的方式达到目的)
创建.env,然后修改其中内容
cp .env.example .env
vi .env
第一次运行,运行下面命令,然后输入login 123456789 password
(替换自己的用户名密码)(第一次使用往往会要求输入验证码,有时候还会给个网址复制链接然后手机QQ扫描二维码验证。所以第一次不能直接挂后台,运行需要docker run -it
运行来通过验证程序。)
docker run --rm -it --name cqhttp-mirai --env-file .env -v $(pwd)/tmp:/tmp --entrypoint="/bin/bash" lqbing/cqhttp-mirai run.sh
PS:QQ账号在当前设备第一次运行需要输入验证码(device.json文件不能丢,腾讯会根据macAddress判断是否要重新输入验证码)。如果几次不对(反正我肉眼凡胎没几次对的)会在提示在/tmp
目录下生成验证码图片,这时候挂载出来的/tmp
目录就有用了。之后一些账号可能会再提示一长串的连接地址,复制出来浏览器打开,然后手机同账号QQ扫描二维码通过验证后再回车才能完成登录过程。
上面的步骤完成,并且屏幕有输出QQ的聊天记录的话就意味着验证通过了,这时候ctrl+c
退出,下面有两个选择,一个是docker run
的方式启动,一种是docker-compose
的方式启动:
完成了上述步骤之后如果要直接挂到后台运行的话可以运行下面的命令(必须带-t
,否则会出现账号文件载入失败问题):
docker run -t -d --name cqhttp-mirai --restart=always --env-file .env lqbing/cqhttp-mirai
如果是要用docker-compose启动的话可以用docker-compose up -d
命令启动。docker-compose.yml文件内容如下:
version: "3"
services:
cqhttp-mirai:
image: lqbing/cqhttp-mirai
restart: always
env_file: .env
stdin_open: true
tty: true
PS:注意config.txt
,setting.yml
,device.json
三个文件是否存在,如果不存在可能造成运行问题。
创建配置文件:
if [ ! -f "config.txt" ]; then
cp config.txt.example config.txt
fi
if [ ! -f "setting.yml" ]; then
cp setting.yml.example setting.yml
fi
if [ ! -f "device.json" ]; then
cp device.json.example device.json
fi
然后配置文件具体怎么修改参考配置文件说明
第一次运行,运行下面的命令,然后输入login 123456789 password
(替换自己的用户名密码)(第一次使用往往会要求输入验证码,有时候还会给个网址复制链接然后手机QQ扫描二维码验证。所以第一次不能直接挂后台,运行需要docker run -it
运行来通过验证程序。):
docker run --rm -it --name cqhttp-mirai -v $(pwd)/config.txt:/workdir/config.txt -v $(pwd)/setting.yml:/workdir/plugins/setting.yml -v $(pwd)/device.json:/workdir/device.json -v $(pwd)/tmp:/tmp --entrypoint="/bin/bash" lqbing/cqhttp-mirai run.sh
PS:QQ账号在当前设备第一次运行需要输入验证码(device.json文件不能丢,腾讯会根据macAddress判断是否要重新输入验证码)。如果几次不对(反正我肉眼凡胎没几次对的)会在提示在/tmp
目录下生成验证码图片,这时候挂载出来的/tmp
目录就有用了。之后一些账号可能会再提示一长串的连接地址,复制出来浏览器打开,然后手机同账号QQ扫描二维码通过验证后再回车才能完成登录过程。
上面的步骤完成,并且屏幕有输出QQ的聊天记录的话就意味着验证通过了,这时候ctrl+c
退出,下面有两个选择,一个是docker run
的方式启动,一种是docker-compose
的方式启动:
如果要用docker run启动的话运行下面命令即可:
docker run -t -d --name cqhttp-mirai -v $(pwd)/config.txt:/workdir/config.txt -v $(pwd)/setting.yml:/workdir/plugins/setting.yml -v $(pwd)/device.json:/workdir/device.json -v $(pwd)/tmp:/tmp lqbing/cqhttp-mirai
如果要用docker-compose启动的话可以用docker-compose up -d
命令启动。docker-compose.yml文件内容如下:
version: "3"
services:
cqhttp-mirai:
image: lqbing/cqhttp-mirai
restart: always
volumes:
- ./config.txt:/workdir/config.txt
- ./setting.yml:/workdir/plugins/setting.yml
- ./device.json:/workdir/device.json
stdin_open: true
tty: true
查看是否还活着:
docker ps -a | grep cqhttp-mirai
查看日志:
docker logs --tail 100 -f cqhttp-mirai
干掉:
docker stop cqhttp-mirai
docker rm cqhttp-mirai
用于指定登陆的QQ账号和密码以及给指定QQ发信息
login 123456789 ppaasswwdd
say 987654321 cqhttp-mirai_123456789_published!
用于指定信息转发给哪个bot地址(格式跟miraiOK有差异,直接使用miraiOK的配置文件会导致信息转发失败且没有报错信息)
# 要进行配置的QQ号 (Mirai支持多帐号登录, 故需要对每个帐号进行单独设置)
"1234567890":
ws_reverse:
- enable: true
postMessageFormat: string
reverseHost: 127.0.0.1
reversePort: 9222
reversePath: /ws
reconnectInterval: 3000
# 详细说明请参考 https://github.com/yyuueexxiinngg/cqhttp-mirai
在正常登录后会生成。猜测是用于记录设备参数的,未验证。
docker build -t lqbing/cqhttp-mirai .
PS:注意如果自己运行docker run的话哪怕是-d后台运行也要加-it参数,否则会造成无法登陆的问题
docker-compose up -d
PS: 注意docker-compose.yml
中的stdin_open
和tty
参数,否则会造成无法登陆的问题
https://github.com/yyuueexxiinngg/cqhttp-mirai/releases/download/0.2.0/cqhttp-mirai-0.2.0-fix1-embedded-all.jar