【NCQQ】Docker版本NCQQ结合了LiteLoaderQQNT与Napcat等插件
前言
这是一个新版本的NCQQ,结合了LiteLoaderQQNT,并在内加了自动同意好友和禁用QQNT更新,使用了Napcat插件来扩展api。不同于NTQQ版本的docker,NTQQ版本的是用了LLonebot插件,这个NCQQ使用的是Napcat插件虽然总体来说大同小异,根据插件作者的不同打包的不同的版本。
大致说明
这个NCQQ是有图形化页面的,而非官方的无头版本(无图形化页面更轻量),所以对配置要求还是有一些的,如果你有图形化查看消息和管理的需求,NCQQ可能是你的选择。如果你在乎的是轻量化可以下发的作者项目内找到docker项目,使用无头版本
特别感谢
感谢雪佬开发和维护(雪佬也在本站群内,如果有相关的建议和问题也可以来问问),Napcat项目地址:https://github.com/NapNeko/NapCatQQ
创建文件和拉取镜像
连接服务器创建文件夹
- 首先我们连接我的服务器,不管你是本地服务器还是云服务器,用
ssh工具
进行连接。这里我使用的是FinalShell工具
连接的本地服务器进行演示
- 然后我们输入命令进行创建,你可以看到在
root目录
下创建了一个ncqq
的文件夹(如果你打算多挂几个QQ那换不同名字
即可):mkdir -p ncqq
拉取镜像
上面我们创建了文件夹
,下面就是拉取镜像并挂载目录
等操作了。我来解释一下下面的命令大概的意思:name
后面的ncqq
意思就是容器的名字
,看你自己,可以是任何其他的,别冲突
就可以。然后-v /root/ncqq/
这个就是让你上面创建文件夹的路径
(如果你多号,自行更改即可)。然后是下面一堆的端口,我们只看:前面
的不要管:后面
的,第一个5900
就是VNC的端口
,如果你有其他的VNC项目部署的,那你可能要改成其他的。3000端口
是http用的
,一般来说用不到,所以也可以不加没所谓。6099端口
就是webui端口
,意思就是如果你有穿透
或者公网
,直接就可以把端口
转出去,做到在外面都能修改配置
。
docker run -d --restart=always --name ncqq -v /root/ncqq/:/opt/QQ/resources/app/LiteLoaderQQNT/plugins/NapCat.Framework/config/ -p 5900:5900 -p 3000:3000 -p 6099:6099 luomubiji/ncqq:latest
VNC连接
- 拉取完毕后我们就可以用
vnc工具
进行连接了。(本站官方群有提供各类的vnc工具
)这里还是用1Remote工具
来演示。我们点击右上角的+
号选择添加
- 我们选择上面的
vnc选项
,然后设置名称
,往下拉找到连接的地址
那一栏,输入你的NCQQ
搭建所在的IP或者域名
。
密码默认是vncpasswd - 下拉输入密码一般默认是
vncpasswd
,如果你打算更改可以参考下面的文章更改,其实内网的话就没必要了。
- 添加后我们在
全部
里找到刚才添加的VNC项目,双击连接即可
- 出来的
二维码
用你要当机器人的QQ号扫码登录
即可。手机上出现下次登录无需手机确认
打勾,登录!如果你出现卡住
,点不了
或者扫码后退出了VNC连接
,重连
即可。
- 登录完毕后我们需要一些小小的设置,点击
左下角
进入设置
,在通用找到软件更新
,让他变灰色就行了,蓝色就是同意
,灰色就是拒绝
。
- 权限设置这里看你个人意愿,
登录设置
这里,我们把两个都变成蓝色(同意
)
- 最后找到我们的插件
Napcat
,打开,点击打开配置页面
。
- 到这里其实已经OK了,剩下的就是看你怎么玩了,后面会说明
webui的使用
和第三方框架autman
和bncr
的对接
NCQQ对接autman
对接autman你需要打开反向WsbSocket服务
,然后点击添加
,输入你的autman地址
,格式如下:ws://autmanIP:端口/qq/receive
设置完毕后,选择CQ码
,保存。(如果没反应,请确认配置是否正确,端口等问题,最好重启
一遍NCQQ容器)
NCQQ对接bncr
对接bncr(无界)你需要打开反向WsbSocket服务
,然后点击添加
,输入你的bncr(无界)地址
,格式如下:ws://无界IP:端口/api/bot/qqws
设置完毕后,选择CQ码
,保存。(如果没反应,请确认配置是否正确,端口等问题,最好重启
一遍NCQQ容器)
不要忘记bncr还需要去bncr的插件市场找到对应的QQ插件并配置ws才行噢
WebUi的使用
- 我们扫码登录后其实在我们的
挂载目录
就是文章一开始让大家创建的目录内就会生成一个webui.json
的文件,我们可以在里面修改token
,方便我们自己好记。
{
"host": "0.0.0.0", // WebUI 监听地址
"port": 6099, // WebUI 端口
"prefix": "", // WebUI 工作前缀,此项功能将在进阶配置中解释
"token": "xxxx", //登录密钥,默认是自动生成的随机登录密码
"loginRate": 3, //每分钟登录次数限制
} - 改好后我们就可以利用
公网
或者穿透
,直接在外面就可以更改配置,记得端口噢!尾巴要带webui才可
。比如:http://192.168.10.197:6110/webui
,接着输入你上面设定的token,或者他自带的token,就能访问了。
另类的更改配置
- 如果你对此项目相当了解,或者了解相关的代码,那就可以直接更改
json
实现更改,就不需要什么VNC里或者webui改了。我们直接找到ncqq目录
内你扫码登录的QQ机器配置文件,一般叫onebot11_xxxxx.json
- 如果你是autman或者bncr更或者其他第三方的框架,可以直接在json里更改"postUrls": []内的值或者添加修改等操作实现修改。
- 以下是官方的文档说明:
{ "http": { // 是否启用http服务, true为启动,false为禁用 "enable": false, // HTTP服务监听的 ip 地址,为空则监听所有地址 "host": "", // http服务端口 "port": 3000, // http上报密钥,可为空 "secret": "", // 是否启用http心跳 "enableHeart": false, // 是否启用http上报服务 "enablePost": false, // http上报地址, 如["http://127.0.0.1:8080/onebot/v11/http"] "postUrls": [] }, "ws": { // 是否启用正向websocket服务 "enable": false, // 正向websocket服务监听的 ip 地址,为空则监听所有地址 "host": "", // 正向websocket服务端口 // 当port与http服务port一致时,host也需与http服务host保持一致,否则可能会导致启动失败 "port": 3001 }, "reverseWs": { // 是否启用反向websocket服务 "enable": false, // 反向websocket对接的地址, 如["ws://127.0.0.1:8080/onebot/v11/ws"] "urls": [] }, "GroupLocalTime": { "Record": false,//是否开启本地群聊时间记录 "RecordList": []//开启全部群 ["-1"] 单个群配置 ["11111"] 多个群 ["1","2","3"] }, // 是否开启调试模式,开启后上报消息会携带一个raw字段,为原始消息内容 "debug": false, // ws心跳间隔,单位毫秒 "heartInterval": 30000, // 消息上报格式,array为消息组,string为cq码字符串 "messagePostFormat": "array", // 是否将本地文件转换为URL,如果获取不到url则使用base64字段返回文件内容 "enableLocalFile2Url": true, // 音乐签名URL,用于处理音乐相关请求 "musicSignUrl": "", // 是否上报自己发送的消息 "reportSelfMessage": false, // access_token,可以为空 "token": "" }
更新命令
NCQQ指定用watchtower1.7.1更新
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower:1.7.1 -c --run-once ncqq
NCQQ通用更新命令
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -c --run-once ncqq