疑似因Linux服务器环境问题,本教程搭建的机器人不稳定,目前已在Windows的挂机宝中进行测试,稳定性明显高于Linux,后续会推出相关教程
另外本教程写的比较仓促,如果有不详细之处欢迎提出,我会酌情修改
因部分服务器会出现237错误,所以我这里提供另一种解决方案,即使用NapCat和Overflow部署
Overflow本质上是将NapCat的Onebot协议转化为了miria协议进行使用
安装java、python等过程这里不再赘述,这里Python我们将使用venv进行环境安装和管理
安装1panel
1panel是一个很好的面板,可以方便我们对NapCat服务进行管理
请参考官网安装教程,这里不再赘述
1panel官网:1Panel - 现代化、开源的 Linux 服务器运维管理面板
增加NapCat源
安装完1panel后,运行下列指令为1panel商店增加NapCat镜像部署
bash <(wget -qO- https://ghp.ci/https://raw.githubusercontent.com/Fahaxikiii/napcat-1panel/main/scripts/gitproxy.sh)
这里推荐划为1panel的计划任务,这样可以自动更新,如下图所示
安装NapCat
按下图操作安装NapCat,注意在配置界面设置机器人账号,其余可默认,这里推荐修改登录密钥
注意登录密钥不是机器人的登录密码,是你登录Web UI的密码
如因国内网络环境无法安装的,请前往容器-配置页面新增docker镜像源,在这里不提供可用镜像源地址,以防它们的失效,请诸位自行搜索
安装OverFlow
进入命令行,在任意目录,依次执行下面的指令
mkdir mcl
cd mcl
wget https://github.com/MrXiaoM/mirai-console-loader/releases/download/v2.1.2-patch1/with-overflow.zip
unzip with-overflow.zip
chmod +x mcl
./mcl -u --dry-run
如果是国内机器,github可能无法使用,请执行下面的命令
mkdir mcl
cd mcl
wget https://gh-proxy.com/https://github.com/MrXiaoM/mirai-console-loader/releases/download/v2.1.2-patch1/with-overflow.zip
unzip with-overflow.zip
chmod +x mcl
./mcl -u --dry-run
在安装完成后,通过./mcl
即可运行
在本次运行中,将会提示下列错误,这是正常现象,因为我们没用启用Onebot服务
E/Onebot: ▌ 出现错误 Connection refused 或未连接 ┈━═☆
安装mcl插件
在此时,你只需要安装mirai-api-http插件即可
https://github.com/project-mirai/mirai-api-http/releases
将插件安装上去,再次运行mcl,待出现上文所述错误时Ctrl+C终止运行
然后再修改 config/net.mamoe.mirai-api-http/setting.yml
adapters:
- http
- ws
debug: false
enableVerify: true
verifyKey: StarBot
singleMode: false
cacheSize: 4096
persistenceFactory: 'built-in'
adapterSettings:
## 其中的 7827 为 StarBot 的默认连接端口,如需修改此处,请在启动 StarBot 时使用 config.set("MIRAI_PORT", 端口号) 同步修改
http:
host: localhost
port: 7827
cors: ["*"]
unreadQueueMaxSize: 100
## 其中的 7827 为 StarBot 的默认连接端口,如需修改此处,请在启动 StarBot 时使用 config.set("MIRAI_PORT", 端口号) 同步修改
ws:
host: localhost
port: 7827
reservedSyncId: -1
在NapCat WebUI登录机器人账号
访问http://<ip>:6099/webui/login.html进入NapCat的WebUI,如无法访问请检查服务器安全组和防火墙配置
Token为NapCat,如果你在安装NapCat Docker时曾修改登录密钥,则填入你修改的登录密钥
登陆后点击 QR Code,扫码登录
登陆后跳转配置界面,按下图开启功能,点击保存
请留意:当重启Docker或服务器时,可能需要进入webui再次登录机器人
启动mcl
此时再回到mcl,再次执行./mcl,即可正常启动机器人
此时可测试在机器人加入的群聊发送消息,可以发现被正常监听即可
如果一条消息显示两次记录,可重启解决
利用Docker安装Redis
这部分还没写,如果想要跑,可以参考StarBot的文档直接安装Redis
使用Docker安装后续的main.py也需要对应修改Redis的链接地址
安装StarBot
新建一个starbot目录,执行
python3 -m venv starbot
如无法创建,请执行错误日志中打印出来的那条命令
另外,此命令中的python3也可能为python,请以你的实际环境为准
执行下列命令进入python虚拟环境
source ./starbot/bin/activate
执行pip安装Starbot
pip install -i https://mirrors.cloud.tencent.com/pypi/simple starbot-bilibili
将numpy降级
pip install numpy==1.24.0
后续操作即可仿照StarBot官方文档进行
请留意,如果需要一条命令执行StarBot的main.py,请使用
./starbot/bin/python3 main.py
守护进程
这部分还没写~