Mirai BOT的部署和使用


环境准备


此次使用Linux,CentOS 7.6 x86_64 (64bit)(纯净版)
配置:1H/1G 硬盘10g

高版本的gcc环境[^gcc],因为机器配置原因无法使用高版本的gcc编译和安装 ^版本,所以此次使用旧版的安装脚本。
Java,(Java version >= 11,一键安装脚本提供Java安装,可忽略)

安装


使用图形界面版本:
前往sonder-joker/mirai-compose下载适合你的系统的压缩包,解压到一个文件就可以使用。

使用纯控制台版本的一键脚本安装:

  1. 访问iTXTech/mcl-installer (一键下载Java和 iTXTech Mirai Console Loader);
  2. 下载适合你的系统的可执行文件;
  3. 在一个新文件夹存放这个文件,运行它;
  4. 通常可以一路回车使用默认设置完成安装,安装完成后程序自动退出;
  5. 运行 mcl.cmd 启动,成功后会看到绿色的 mirai-console started successfully。

以本机为例安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
cd /usr/bot				#你想要安装 iTXTech MCL 的目录
curl -LJO https://github.com/iTXTech/mcl-installer/releases/download/v1.0.3/mcl-installer-1.0.3-linux-amd64 #如果是macOS,就将链接中的 linux 修改为 macos
chmod +x mcl-installer-1.0.3-linux-amd64 #运行权限
./mcl-installer-1.0.3-linux-amd64 #运行一键安装脚本


#如果您是新手,且没有特殊需求,一路回车就能进行安装了。
Would you like to install Java? (Y/N, default: Y)
是否安装Java,如果上面的检测结果输出的Java版本大于11即可,可输入N跳过安装,否则必须安装Java

Java version (8, 11, 17, 18, default: 17): 选择Java版本安装,默认为Java 17
JRE or JDK (1: JRE, 2: JDK, default: JRE): 选择JRE还是JDK安装,默认为JRE
Binary Architecture (default: x64): 选择架构安装,默认x64,Apple Silicon 请选择 aarch64
如果操作系统为Windows并且需要使用 mirai-native,请选择 x32(而不是i386等其他名字)

The latest stable version of iTXTech MCL is x.x.x 获取最新MCL并询问是否下载
Would you like to download it? (Y/N, default: Y) Y:下载,N:取消

运行

了解运行环境

安装时自动下载了 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
2
3
./mcl --update-package net.mamoe:mirai-api-http --type plugin --channel stable-v2

./mcl --update-package net.mamoe:chat-command --type plugin --channel stable

注意: 插件有多个频道, –channel stable 表示使用名为 stable 的频道. 不同的插件可能会设置不同的频道, 具体需要使用哪个频道可参考特定插件的说明 (很多插件会单独说明要如何安装它们, 因此不必过多考虑).

安装社区插件

Mirai 官方论坛 Mirai Forum

如果是 JAR 文件的插件,放入 plugins 即可。其他插件一般都有特殊说明如何使用,请参考它们的说明。

使用控制台指令

运行./mcl启动 mcl.cmd 就会看到控制台。在控制台可以输入指令,按回车执行这条指令。
Mirai Console 内置一些指令,输入 ? 并回车可以查看指令列表。
一些常用指令介绍在这里

在群聊中使用命令 (权限授予)

要允许从 QQ 聊天环境中使用各种命令, 你必须 完成以下的配置

  1. 安装 chat-command
  2. 完成命令执行权限授予

关于不同的权限系统, 授予权限的方式, 或者授予权限的命令格式, 可能有所不一样
当使用 非内置权限系统 时, 具体的权限管理相关命令以相关的权限系统的文档为准

LuckPerms-Mirai 的权限管理命令为 /lp 而不是 /permission(社区插件,易用的高级高效率权限组插件, 适合权限分配模型比较复杂的情况)

要完成权限授予, 你必须通过在控制台执行 [/permission permit [target] [permission] 来授予其他人执行相关命令的权限, 需要执行的权限一般情况在插件的介绍页都会给明

详见 PermissionCommand

其他

Tmux

推荐使用Tmux放置程序后台运行
下载安装

1
2
3
4
5
6
7
8
# Ubuntu 或 Debian
$ sudo apt-get install tmux

# CentOS 或 Fedora
$ sudo yum install tmux

# Mac
$ brew install tmux

使用方法

运行mcl.cmd提示glibc_2.XX缺少
1
2
3
4
5
6
7
8
9
10
[root@local ~] wget http://ftp.gnu.org/gnu/glibc/glibc-2.XX.tar.gz
[root@local ~] tar -xf glibc-2.XX.tar.gz
[root@local ~] cd glibc-2.XX
[root@local glibc-2.XX] mkdir build
[root@local glibc-2.XX] cd build
[root@local build] …/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
[root@local build] make -j
[root@local build] make install

[root@local ~] strings /lib64/libc.so.6 | grep #查看是否安装

注:如果执行configure的时候报configure: error: support for --no-whole-archive is needed,则把configure命令改成

1
2
3
…/glibc-2.17/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include

make localedata/install-locales

[^gcc]: GNU编译器套件,GNU编译器套件包括C、C++Objective-CFortranJavaAdaGo语言前端,也包括了这些语言的库(如libstdc++,libgcj等)