Mirai BOT的部署和使用
环境准备
此次使用Linux,CentOS 7.6 x86_64 (64bit)(纯净版)
配置:1H/1G 硬盘10g
高版本的gcc环境[^gcc],因为机器配置原因无法使用高版本的gcc编译和安装 ^版本,所以此次使用旧版的安装脚本。
Java,(Java version >= 11,一键安装脚本提供Java安装,可忽略)
安装
使用图形界面版本:
前往sonder-joker/mirai-compose下载适合你的系统的压缩包,解压到一个文件就可以使用。
使用纯控制台版本的一键脚本安装:
- 访问iTXTech/mcl-installer (一键下载Java和 iTXTech Mirai Console Loader);
- 下载适合你的系统的可执行文件;
- 在一个新文件夹存放这个文件,运行它;
- 通常可以一路回车使用默认设置完成安装,安装完成后程序自动退出;
- 运行 mcl.cmd 启动,成功后会看到绿色的 mirai-console started successfully。
以本机为例安装
1 | cd /usr/bot #你想要安装 iTXTech MCL 的目录 |
运行
了解运行环境
安装时自动下载了 Mirai Console 启动器(简称 MCL)。
启动器会帮你准备运行环境,下载和更新 Mirai 核心。你也可以使用启动器下载一些插件(见下文)。
第一次运行 mcl.cmd 时会初始化运行环境。下表说明了各个文件夹的用途。
文件夹名称 | 用途 |
---|---|
scripts | 存放启动器的脚本,一般不需要在意他们 |
plugins | 存放插件 |
data | 存放插件的数据,一般不需要在意它们 |
config | 存放插件的配置,可以打开并修改配置 |
logs | 存放运行时的日志,日志默认保留 7 天 |
下载和安装插件
刚刚装好的 Mirai Console 是没有任何功能的。功能将由插件提供。
安装官方插件(必须)
Mirai 官方提供两个插件:
- chat-command: 允许在聊天环境通过以 “/“ 起始的消息执行指令(不安装此环境不能在聊天环境中执行命令)
- mirai-api-http:提供 HTTP 支持,允许使用其他编程语言的插件
打开命令行 (Windows 系统按住Shift+鼠标右键,点击”在此处打开 PowerShell”),
可以使用 MCL 自动安装这些插件如:
1 | ./mcl --update-package net.mamoe:mirai-api-http --type plugin --channel stable-v2 |
注意: 插件有多个频道, –channel stable 表示使用名为 stable 的频道. 不同的插件可能会设置不同的频道, 具体需要使用哪个频道可参考特定插件的说明 (很多插件会单独说明要如何安装它们, 因此不必过多考虑).
安装社区插件
Mirai 官方论坛 Mirai Forum
如果是 JAR 文件的插件,放入 plugins 即可。其他插件一般都有特殊说明如何使用,请参考它们的说明。
使用控制台指令
运行./mcl
启动 mcl.cmd 就会看到控制台。在控制台可以输入指令,按回车执行这条指令。
Mirai Console 内置一些指令,输入 ? 并回车可以查看指令列表。
一些常用指令介绍在这里。
在群聊中使用命令 (权限授予)
要允许从 QQ 聊天环境中使用各种命令, 你必须 完成以下的配置
- 安装 chat-command
- 完成命令执行权限授予
关于不同的权限系统, 授予权限的方式, 或者授予权限的命令格式, 可能有所不一样
当使用 非内置权限系统 时, 具体的权限管理相关命令以相关的权限系统的文档为准如 LuckPerms-Mirai 的权限管理命令为 /lp 而不是 /permission(社区插件,易用的高级高效率权限组插件, 适合权限分配模型比较复杂的情况)
要完成权限授予, 你必须通过在控制台执行 [/permission permit [target] [permission] 来授予其他人执行相关命令的权限, 需要执行的权限一般情况在插件的介绍页都会给明
其他
Tmux
推荐使用Tmux放置程序后台运行
下载安装
1 | # Ubuntu 或 Debian |
运行mcl.cmd提示glibc_2.XX缺少
1 | [root@local ~] wget http://ftp.gnu.org/gnu/glibc/glibc-2.XX.tar.gz |
注:如果执行configure的时候报configure: error: support for --no-whole-archive is needed
,则把configure命令改成
1 | …/glibc-2.17/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include |
[^gcc]: GNU编译器套件,GNU编译器套件包括C、C++、 Objective-C、 Fortran、Java、Ada和Go语言前端,也包括了这些语言的库(如libstdc++,libgcj等)