【NCQQ】Docker版本NCQQ结合了LiteLoaderQQNT与Napcat等插件

注意: 本文最后更新于 64 天前,内容可能已不再准确,请酌情参考。

前言

这是一个新版本的NCQQ,结合了LiteLoaderQQNT,并在内加了自动同意好友和禁用QQNT更新,使用了Napcat插件来扩展api。不同于NTQQ版本的docker,NTQQ版本的是用了LLonebot插件,这个NCQQ使用的是Napcat插件虽然总体来说大同小异,根据插件作者的不同打包的不同的版本。

大致说明

这个NCQQ是有图形化页面的,而非官方的无头版本(无图形化页面更轻量),所以对配置要求还是有一些的,如果你有图形化查看消息和管理的需求,NCQQ可能是你的选择。如果你在乎的是轻量化可以下发的作者项目内找到docker项目,使用无头版本

特别感谢

感谢雪佬开发和维护(雪佬也在本站群内,如果有相关的建议和问题也可以来问问),Napcat项目地址:https://github.com/NapNeko/NapCatQQ

创建文件和拉取镜像

连接服务器创建文件夹

  1. 首先我们连接我的服务器,不管你是本地服务器还是云服务器,用ssh工具进行连接。这里我使用的是FinalShell工具连接的本地服务器进行演示
    file
  2. 然后我们输入命令进行创建,你可以看到在root目录下创建了一个ncqq的文件夹(如果你打算多挂几个QQ那换不同名字即可):
    mkdir -p ncqq

    file

拉取镜像

上面我们创建了文件夹,下面就是拉取镜像并挂载目录等操作了。我来解释一下下面的命令大概的意思: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

file

VNC连接

  1. 拉取完毕后我们就可以用vnc工具进行连接了。(本站官方群有提供各类的vnc工具)这里还是用1Remote工具来演示。我们点击右上角的+号选择添加
    file
  2. 我们选择上面的vnc选项,然后设置名称,往下拉找到连接的地址那一栏,输入你的NCQQ搭建所在的IP或者域名
    file
    密码默认是vncpasswd
  3. 下拉输入密码一般默认是vncpasswd,如果你打算更改可以参考下面的文章更改,其实内网的话就没必要了。
    20240809172024552134
    【X11VNC】关于如何修改X11VNC密码简单说明
    注意: 本文最后更新于 64 天前,内容可能已不再准确,请酌情参考。前言 因为VNC这个安全性等问题,所以整理发布了这个文章,其实如果你是本地设备,问题不是很……

    file
  4. 添加后我们在全部里找到刚才添加的VNC项目,双击连接即可
    file
  5. 出来的二维码用你要当机器人的QQ号扫码登录即可。手机上出现下次登录无需手机确认打勾,登录!如果你出现卡住点不了或者扫码后退出了VNC连接重连即可。
    file
  6. 登录完毕后我们需要一些小小的设置,点击左下角进入设置,在通用找到软件更新,让他变灰色就行了,蓝色就是同意灰色就是拒绝
    file
  7. 权限设置这里看你个人意愿,登录设置这里,我们把两个都变成蓝色(同意
    file
  8. 最后找到我们的插件Napcat,打开,点击打开配置页面
    file
    file
  9. 到这里其实已经OK了,剩下的就是看你怎么玩了,后面会说明webui的使用和第三方框架autmanbncr的对接

NCQQ对接autman

对接autman你需要打开反向WsbSocket服务,然后点击添加,输入你的autman地址,格式如下:ws://autmanIP:端口/qq/receive 设置完毕后,选择CQ码,保存。(如果没反应,请确认配置是否正确,端口等问题,最好重启一遍NCQQ容器)
file

NCQQ对接bncr

对接bncr(无界)你需要打开反向WsbSocket服务,然后点击添加,输入你的bncr(无界)地址,格式如下:ws://无界IP:端口/api/bot/qqws 设置完毕后,选择CQ码,保存。(如果没反应,请确认配置是否正确,端口等问题,最好重启一遍NCQQ容器)
不要忘记bncr还需要去bncr的插件市场找到对应的QQ插件并配置ws才行噢
file
file

WebUi的使用

  1. 我们扫码登录后其实在我们的挂载目录就是文章一开始让大家创建的目录内就会生成一个webui.json的文件,我们可以在里面修改token,方便我们自己好记。
    file
    file
    {
    "host": "0.0.0.0", // WebUI 监听地址
    "port": 6099, // WebUI 端口
    "prefix": "", // WebUI 工作前缀,此项功能将在进阶配置中解释
    "token": "xxxx", //登录密钥,默认是自动生成的随机登录密码
    "loginRate": 3, //每分钟登录次数限制
    }
  2. 改好后我们就可以利用公网或者穿透,直接在外面就可以更改配置,记得端口噢!尾巴要带webui才可。比如:http://192.168.10.197:6110/webui,接着输入你上面设定的token,或者他自带的token,就能访问了。
    file
    file

另类的更改配置

  1. 如果你对此项目相当了解,或者了解相关的代码,那就可以直接更改json实现更改,就不需要什么VNC里或者webui改了。我们直接找到ncqq目录内你扫码登录的QQ机器配置文件,一般叫onebot11_xxxxx.json
    file
    file
  2. 如果你是autman或者bncr更或者其他第三方的框架,可以直接在json里更改"postUrls": []内的值或者添加修改等操作实现修改。
  3. 以下是官方的文档说明:
    {
    "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
阅读剩余
THE END