写这篇文章有两个目的,一是作为学习笔记,方便在下次重新部署时复习使用。二是算是个不成熟的教程吧,但是整体流程也是从别人哪里学来的
其实是在家闲得无聊找点事情做
仅展示没有遇到错误的情况
如果遇到报错,请先通过搜索引擎搜素遇到的情况以及报错文本
或者查看官方网站中的常见问题以及官方频道
首先,我也是个小白,遇到感兴趣的东西就喜欢鼓捣一下,有什么写错的地方欢迎指正。我是根据官方文档以及Initial-heart 大佬的教程才完成部署。只不过大佬的教程是在 Windows 系统下部署,思路是一样的,本文只是在 linux 系统下部署。
在开始之前先介绍一下我的部署环境以及使用的工具
使用阿里云服务器部署,操作系统:Ubuntu 20.04
会用到开源 SSH 工具 Tabby 下载链接: 官网
以及 ftp 工具 FlashFXP 官网 付费软件可以试用,或者:百度云盘 (提取码) 蓝奏云 (密码)
滑动验证助手 (安装到手机或模拟器中) Github 链接
Tabby 使用方法:打开软件后选择设置 - 配置与连接,点击新配置,选择 SSH 连接,输入服务器公网 IP 及用户名密码即可 (需注意,在此软件中请不要使用 Ctrl+C 来复制文本,而是用鼠标左键选中文本后右键点击即可复制。同理粘贴文本直接右键即可。另外当你要输入某个文件名时,只需输入文件名前 1 或多个字母后,按 Tab 键即可补全)
FlashFXP 使用方法:菜单栏会话 - 快速连接,输入服务器公网 IP 及用户名密码即可
接下来正式开始
{mtitle title="部署 mirai"/}
打开mirai-Release,选择最新版本,找到需要使用的文件
右键 - 复制链接地址
接下来来到 Tabby,输入以下命令,回车运行,新建一个名为 mirai 的文件夹
mkdir mirai
执行以下命令查看当前目录下的所有文件
ls
可以看到已经新建完成
执行以下命令进入 mirai 目录,可以理解为双击打开文件夹 ( cd ..
为返回上一级 )
cd mirai
执行以下命令下载 mirai,URL 为刚才复制的链接
wget URL
等待下载完成
再次执行 ls
命令即可看到下载好的文件
执行以下命令设置文件权限
chmod 777 文件名
设置完后文件名颜色会改变
执行以下命令运行文件开始下载
./文件名
安装过程中会有几个选项需要选择
是否安装 Java:选择 y 安装
Java 版本:选择最高版本
JRE & JDK:选择 JDK
Binary Architecture:选择 x64
稍后还会询问是否下载 MCL,选择 y 下载
看到这个即为安装完成,按任意键退出
ls
可以看到安装好的文件
执行以下命令启动 MCL,第一次启动需要初始化,下载运行库和插件
完成后会有这句话
初始化完成,现在可以按 Ctrl+C 结束进程
接下来来到 FlashFXP,按照路径找到这个文件,右键 - 编辑
将 QQ 号填到 account,密码填到 value,protocol 推荐填 IPAD
注意,冒号和值之间必须有一个空格!
注意,冒号和值之间必须有一个空格!
注意,冒号和值之间必须有一个空格!
填好后保存并关闭
./mcl
再次运行 mcl
会看到这样,选中最后一条信息,鼠标右键单击复制,发送到手机上
打开滑动验证助手,把这一串粘贴上去,点下一步
完成验证
复制给出的 Ticket,回到电脑
单击右键粘贴,回车
接下来需要短信验证,输入 yes,回车
输入短信验证码,登录成功
最后出现这样的提示,mcl 启动成功
Ctrl+C 关闭
{mtitle title="安装 mah"/}
打开mah-Release,选择最新版本,找到需要使用的文件
下载到电脑上,接下来使用另一种方法下载安装 mah
当然,你也可以继续使用前面介绍的方法,使用 cd
命令移动到 mirai/plugins 目录下,使用 wget URL
的方式安装
在 FlashFXP 中,左侧为本机电脑文件,右侧为服务器
将文件从左边拖到右边即可
再次 ./mcl
启动 mcl,等待初始化完成后 Ctrl+C 关闭
来到此目录下,空白处右键刷新
进入新出现的文件夹
右键编辑打开 setting.yml
删除原有的内容,将下面的内容粘贴进去,改变 verifyKey 的值
## 启用的 adapter, 内置有 http, ws, reverse-ws, webhook
adapters:
- http
- ws
## 是否开启认证流程, 若为 true 则建立连接时需要验证 verifyKey
## 建议公网连接时开启
enableVerify: true
verifyKey: 1234567890
## 开启一些调式信息
debug: false
## 是否开启单 session 模式, 若为 true,则自动创建 session 绑定 console 中登录的 bot
## 开启后,接口中任何 sessionKey 不需要传递参数
## 若 console 中有多个 bot 登录,则行为未定义
## 确保 console 中只有一个 bot 登陆时启用
singleMode: false
## 历史消息的缓存大小
## 同时,也是 http adapter 的消息队列容量
cacheSize: 4096
## adapter 的单独配置,键名与 adapters 项配置相同
adapterSettings:
## 详情看 http adapter 使用说明 配置
http:
host: localhost
port: 8080
cors: ["*"]
unreadQueueMaxSize: 100
## 详情看 websocket adapter 使用说明 配置
ws:
host: localhost
port: 8060
reservedSyncId: -1
{mtitle title="部署 AmiyaBot"/}
点击上方的配置与连接,会显示连接历史,点击新建一个窗口
分别右键重命名,方便分别控制启动 mirai 和 AmiyaBot
首先第一步,安装 git
第一种方法 (有可能会出现后续步骤中识别不到 git 的情况):
点击下载 使用 FlashFXP 放到根目录下,或者 wget
命令下载
chmod 777 文件名
给予权限
tar -xzvf 文件名
解压缩
第二种方法:
依次执行 apt-get update -y
apt-get upgrade -y
更新 apt 工具
apt install git
安装 git
git --version
查看已安装的 git 版本,能查询到即为安装成功
接下来,克隆仓库
git clone https://github.com/AmiyaBot/Amiya-Bot.git
cd Amiya-Bot
pip install -r requirements.txt
安装依赖
playwright install --with-deps chromium
安装 Chromium
来到此目录下右键编辑
将 host 改为 0.0.0.0,authKey 密码可不填,但为了安全建议填写
最后
python3 amiya.py
运行
mirai 窗口 : cd mirai
, ./mcl
AmiyaBot 窗口: cd Amiya-Bot
, python3 amiya.py
两边都启动成功后进入下一步,连接控制台
{mtitle title="连接控制台"/}
首先来到服务器控制台 (以阿里云为例),选择实例进入详情
安全组 - 配置规则
点击手动添加,端口范围设置为 8088/8088,授权对象设置为 0.0.0.0/0,保存
保险起见也在本地放开 8088 端口,具体操作为打开控制面板,选择防火墙
高级设置
入站规则 - 新建规则
选择端口
选择 TCP,下方填写 8088,确定保存
在浏览器中打开控制台 http://console.amiyabot.com
服务地址为http:// 服务器公网 IP:8088,密钥为 server.yaml 中填写的 authKey
选择实例管理
按照下图配置 (可控实例可填可不填,内容为你的群号)
完成后是这个样子
接下来就可以到插件商店安装需要的插件了,每个插件都会有说明如何配置和使用
好了,现在可以在群里或私聊和兔兔互动了
虽然现在已经可以正常运行了,但是只要关闭 Tabby,进程也会随之关闭。那么,总不能电脑一直不关机且运行 Tabby 吧。那么,解决方法就是接下来要介绍的 ——screen
{mtitle title="screen 保活"/}
如果发现接下来的命令无法执行,那可能是系统还未安装 screen,Ubuntu 系统执行以下命令安装
apt-get install screen
首先执行以下命令创建一个名为 mirai 的会话
screen -S mirai
执行之后看起来好像没有发生什么变化,实际上 screeen 已经在运行了
接下来执行 ./mcl
启动 mcl,启动完成后按下 Ctrl+A+D,这时候会话会被暂时中断,但是会话中执行的命令不会被中断。
同理,使用 cd
命令移动到 AmiyaBot 目录下,创建名为 AmiyaBot 的会话,执行 python3 amiya.py
启动 amiya.py ,再次按下 Ctrl+A+D 中断会话。现在,可以随时关闭 Tabby 了,程序会一直在运行。
学会了如何中断会话,那么如何恢复会话呢?
首先 screen -ls
查看会话列表, screen -r 会话名称i
或者 screen -r id号
就可以恢复会话了。
关闭会话: exit
剩余内容 (大概率不写):
1.Nginx 反向代理加密连接,可参考 (此教程)
2. 视频版
3. 插件中公招和 ChatGPT 的配置
很多内容都来自于互联网以及自己瞎鼓捣,不保证 100% 正确,如有错误和遗漏欢迎指出
PS:可能是因为我还装了宝塔面板的原因吧,访问控制台总是会提示接口请求失败。不太想继续折腾了,就这样吧,这篇文章应该也不会再更新了。