补充
补充

补充

当你有了自己的服务器时,想把bot部署在服务器上一劳永逸时,希望这篇文章可以帮助到你ヾ(•ω•`)o

你可以自己尝试部署到服务器,一般用Linux内核

1.在go-cq页面下好了适合linux的gocq压缩包,完成了nb create后。在服务器bot文件夹中,你会发现并没有.env文件,这就导致我们在配置环境变量时找不到方向,同时在与nonebot链接时也存在一定障碍。(原因是linux不会显示.env这类环境变量配置文件)

在拖文件时建议使用xftp

最简单的解决方法:

之前教程中在win创建的nb文件夹里有.env文件等等,你可以将其更改好后拖入bot.py所在目录里(不止.env哦)

2.在服务器连接扫码登录bot的qq时,你会遇见(显示不在安全的网络下)这一类情况

解决方法:

在win中的gocq文件里配置好的,如下

请将device.json ,session.token,config.yml一并拖入服务器对应gocq文件夹内(务必是之前能正常连接使用的)

如此一来,在服务器登录后将自动登录,即可解决问题

3.针对linux内核不能持久使用的情况,我们使用screen

在服务器登录root用户,安装screen

sudo apt install screen

创建会话(aaa可以改为你想要的名字)

screen -S aaa

因为要gocq和nonebot都持久,因此要开两个窗口

所以在上面的条件下继续创建一个运行bot.py的窗口

screen -S bbb

在aaa窗口下cd进入gocq目录,继续输入


./go-cqhttp

在bbb窗口下cd进入bot.py目录,输入

poetry shell    # 进入虚拟环境
python bot.py #或者nb run

你可以看见正常运行后,现在将终端连接关了,你会惊喜的发现bot能持久运行了!

恭喜你,成功了

在最后,关于screen确实得好好说说

1.恢复会话(如aaa)

screen -r aaa

2.列出已有会话

screen -ls

3.删除已有会话

screen -X -S xxx quit#xxx为你的会话序号

注意这里的会话序号是指会话名称前,如100525.bot,则xxx应为100525

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注