/Celestial

Primary LanguageC++GNU Affero General Public License v3.0AGPL-3.0

logo
title

Mirai 是一个在全平台下运行,提供 QQ Android 和 TIM PC 协议支持的高效率机器人框架

这个项目的名字来源于

京都动画作品《境界的彼方》栗山未来(Kuriyama Mirai)

CRYPTON初音未来为代表的创作与活动(Magical Mirai)

图标以及形象由画师DazeCake绘制

Celestial

Mirai multi-function bot plugin

Mirai 多功能 机器人群管插件

Codacy Badge License: AGPL v3

安装 Celestial

0x01 编译 Celestial

git clone https://github.com/SakuraiLH/Celestial ~/Celestial
cd ~/Celestial
git submodule update --init --remote --force

在这一步之后,你需要调整Celestial的机器人设置。

导航到src/main.cpp,找到

int main()
{
	opts.BotQQ = xxxxx_qq;
	opts.HttpHostname = "localhost";
	opts.WebSocketHostname = "localhost";
	opts.HttpPort = 8080;
	opts.WebSocketPort = 8080;
	opts.VerifyKey = "123";
	bool anti_recall = false;
}

将opts的QQ号改为目标机器人的QQ号,HttpHostname/PortWebSocketHostname/Port请根据自己的需要更改。在VerifyKey处输入自定义的一个密码,稍后在mirai-api-http中将会用到。

mkdir build
cd ./build
cmake ..
make

命令结束后,在build目录下得到可执行文件Celestial

0x02 使用 Mirai-Console-Loader 来安装 Mirai

mkdir ~/Mirai
cd ~/Mirai
wget https://github.com/iTXTech/mcl-installer/releases/download/v1.0.3/mcl-installer-1.0.3-linux-amd64
chmod a+x mcl-installer-1.0.3-linux-amd64
./mcl-installer-1.0.3-linux-amd64

请注意:如果自带Java环境,MCL Installer中的下载java步骤可以跳过。

0x03 下载 mirai-api-http 到 plugins 中

cd ~/Mirai
mkdir plugins
wget -P ./plugins https://github.com/project-mirai/mirai-api-http/releases/download/v2.2.0/mirai-api-http-v2.2.0.mirai.jar

0x04 对 mirai-api-http 进行初始化设置

第一次启动后,可使用stop退出后进入~/Mirai/config/net.mamoe.mirai-api-http,找到config.yaml,启用WebSocket的adapter。

adapters:
  - http
  - ws
debug: false
enableVerify: true
verifyKey: 123 # 这里填写之前你设定的密码
singleMode: false
cacheSize: 4096
adapterSettings:
  http:
    host: localhost
    port: 8080
    cors: [*]

  ws:
    host: localhost
    port: 8080
    reservedSyncId: -1

你的config.yaml应该是这样设置的。设置详见mirai-api-http的文档

0x05 启动机器人

执行在 0x01中所得到的二进制文件。

~/Mirai下,使用./mcl 启动机器人。使用login QQ号 QQ密码登陆Mirai。

0x06 自定义部分

Celestial的回复内容都集中在一个统一的头文件include/CustomReplies.h中。 你可以在CustomReplies.h中修改回复内容。

某些Celestial指令包含有针对单一实例的QQ账户前四位认证,关于特定实例选定这部分 的更改Celestial将不会自动变更。你可以在include/Globalvariables.h中找到字符串变量 Celestial_QQ_Prefix,推荐修改。

0x07 法律信息

Copyright 2021 SakuraiLH, Celestial.
All rights reserved.

通过AGPL v3协议开源。