前言
1.本文介绍了如何在服务器上搭建NTQQ机器人,通过官方NTQQ对接各框架,实现QQ登录的稳定运行。文章提到了需要准备一台服务器和相应的软件,并详细描述了通过SSH链接服务器、创建文件夹和配置文件、编辑配置文件地址端口、运行容器等步骤。同时,文章还介绍了VNC连接的使用和配置,以及使用watchtower进行NTQQ的更新。文章总结起来就是在服务器上搭建NTQQ机器人,实现QQ登录的稳定性和自动登录功能,同时提供了更新和维护的方法。
2.用户交流群号 1036988407
相信很多机器人玩家,都已经无路可去了,目前可以利用官方NTQQ来对接各框架(当然需要各框架支持)
首先感谢 青柠 博客地址: 倾城于你 提供的一些思路。
感谢 群内魂焱 博客地址: 魂焱小站 提供部分技术的支持。
3.感谢 群内莫斯科的arm服务器提供。
4.打包的docker在魂焱打包的基础上改了一些,让QQ就算闪退或者崩溃,不影响到容器本身,用supervisor进行守护,使其配合自动登录功能,实现绝对的稳定,下面我们来进入正题
准备
- 准备一台服务器,amd64/arm64都可以,配置最好还是2核保底吧。
- 准备一个VNC软件。我会在群内准备一些手机上的和PC端的。这里直接用青柠提供的1Remote
- 准备手机登陆机器人QQ号,扫码
- 手动搭建NTQQ
SSH链接你的服务器,在root目录下,没有的请cd /root,然后输入下面命令创建对应文件夹并创建配置文件,请注意将记得换文字换成机器人的QQ号码
mkdir -p LLOneBot && cd LLOneBot && touch config_记得换.json
请把记得换更改为机器人QQ号码例如:123456789
mkdir -p LLOneBot && cd LLOneBot && touch config_123456789.json
- 如果不确定是否成功,可以自行查看下目录或者ll看查目录。正确后我们进行编辑配置文件,配置地址端口。(并不是一定要vi如果有宝塔等或者nas等可以直接去目录手动修改哈,怎么方便怎么来),这里我直接使用了SSH工具查看json文件,
8. 拉取镜像 docker pull luomubiji/ntqq:latest
9. 修改配置文件 /root/LLOneBot/config_123456789.json
{
"ob11": {
"httpPort": 3000,
"httpHosts": [],
"wsPort": 3001,
"wsHosts": [
"ws://autman公网:端口/qq/receive"
],
"enableHttp": false,
"enableHttpPost": false,
"enableWs": false,
"enableWsReverse": true,
"messagePostFormat": "string",
"httpSecret": "",
"enableHttpHeart": false,
"enableQOAutoQuote": false,
"enable": true,
"listenLocalhost": false,
"reportSelfMessage": false
},
"heartInterval": 60000,
"token": "",
"enableLocalFile2Url": true,
"debug": true,
"log": false,
"reportSelfMessage": false,
"autoDeleteFile": true,
"ffmpeg": "/usr/bin/ffmpeg",
"autoDeleteFileSecond": 120,
"enablePoke": false,
"musicSignUrl": "",
"enableLLOB": true,
"msgCacheExpire": 120,
"satori": {
"enable": false,
"port": 5600,
"listen": "0.0.0.0",
"token": ""
}
}
- 编辑改好后,咋们记得保存,拉取镜像并run容器(不用管arm或者amd什么的,直接拉取,会自动识别)
docker run -d --restart=always --name NTQQ -v /root/LLOneBot/:/opt/QQ/resources/app/LiteLoaderQQNT/data/LLOneBot/ -p 5900:5900 -p 3000:3000 luomubiji/ntqq:latest
- 注意上面的name后面的NTQQ是可以更改的,还有-p 5900:5900 -p 3000:3000 这里的:前面的5900和3000是可以更改的,更改后代表后面的步骤都需要相应的替换。如果有端口冲突,还是更改为好,没有就不必更改,有没有很简单,自己用命令lsof -i:5900查看记得
- VNC连接
- 首先VNC软件选择性很多,各个功能不一样,建所以这里直接用1Remote来演示,首先打开软件,右上角选择+号,选择添加,点击上方VNC,输入名称
VNC密码是:vncpasswd
- 往下拉找到地址,输入上面搭建NTQQ服务器的地址IP(可域名)+端口号,就是上面的第六步,里面的5900如果你有变动,改的什么就在此处填写什么(家宽openwrt或者爱快等,记得开放端口)。下面密码输入:vncpasswd (关于密码固定后续可能会优化为可自定义),然后保存。
- 保存后我们去双击你添加的,就会进行连接(如果遇到连接失败,你确定端口开放!且确定容器正常运行中!端口占用等问题!),连接成功后如图所示:
- 然后我们拿出我们准备好的机器人QQ手机,右上角+号,扫一扫,然后扫出来的二维码。并登陆,确定登录。出现确认最好勾选下次登录无需手机确认,如果遇到闪退,扫码后黑屏等,重新连接VNC就行。直到出现正常QQ登陆界面。然后就进行关键操作!!!
- 点击设置,找到左边最下面的bot,点击进入,确定一下端口,还有对接奥特曼的地址和端口是否有,如果没有,手动填写,最好是去一开始的配置文件修改!还要开启debug!消息上保类型选择CQ码如图所示就完事了!然后点击左边的登录设置,将启动QQ自动登录打开,确认无需手机确认打开。接着找到最上的通用找到软件更新关闭!!
- autMan用户配置如图,IP+端口记得替换
- 更新命令
- 这里使用的是watchtower来更新,但是我不知道是个人原因还是什么原因,watchtower版本无论怎么拉取最新的都是1.3.0(删除了镜像也是),所以我建议如果您的watchtower版本很低的话,就是用下面命令拉取后出现第一行为1.7.1(2024年3月14日 23:18:12目前最新)以下的话,最好还是手搓拉取指定版本,注意更新是要时间的!且更新后还需要扫码登录,且要除了配置文件外的比如自动登录,取消更新都需要重新开关!
尾巴的NTQQ是容器名字!!!! NTQQ指定用watchtower1.7.1更新(跟我类似情况)
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower:1.7.1 -c --run-once NTQQ
NTQQ通用更新命令
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -c --run-once NTQQ
本文共 1340 个字数,平均阅读时长 ≈ 4分钟
一切都将逝去,唯有死神永生。