快捷指南

介绍

         

这是啥?

一个基于 mirai-ts,运行于 Node.js,使用 TypeScript 编写实现的优雅、可配置的 QQ 机器人框架。

适合于认为 JavaScript/TypeScript 是世界上最好的语言的用户

一份无关紧要的开发历程

Feature

el-bot 展示了整个 mirai-ts 的使用流程,并内置了一些如自动应答、转发、命令行、RSS 等常用功能(默认插件),开箱即用。

你只需要一些自定义的配置,而不再需要编写繁琐的脚本内容。

但这并不是束缚,在插件系统中你仍然可以调用机器人所有的上下文,并通过编写插件的形式快速实现你想要的功能。

el-bot 有什么好处?

  • 使用 JavaScript 这一解释型语言,所以可以较为方便地实现运行时动态加载插件。
  • 使用函数式编程的思想,专注于实现常用的小功能,并很容易插入你自定义的插件。
  • 优雅的控制台信息显示。
  • 她还提供了一些常用的脚本,譬如启动与自动登录 mirai-console,webhook 等。

WARNING

由于种种原因,本项目将不再提供安装 mirai 的脚本与方法,你应当具有自行安装并启动 mirai 的能力。

开始

首先,你必须得有 JavaNode.js 环境。

TIP

你也可以直接参考或使用 el-bot-template。(推荐,仅阅读 README 即可快读开始。) 即便你不用它,你也可以参考一下它的 package.json 配置启动脚本。

聊天记录
云游君
El Psy Congroo
小云
Link Start!

安装

mirai 1.0 版本以上推荐使用官方启动器 mirai-console-loader 自行启动 miraimirai-api-http 插件。

npm install el-bot
# yarn add el-bot

TIP

因为国内速度较慢,你可以考虑切换为淘宝镜像源(但包的同步,可能有所延迟):

npm config set registry https://registry.npm.taobao.org

目录结构请参考 el-bot-template 或直接使用它生成你的机器人。

0.8.0 新增:setting 可以是 mirai-api-http setting.yml 的路径 如 setting: './mcl/config/net.mamoe.mirai-api-http/setting.yml'

// index.js
const Bot = require("el-bot");

const bot = new Bot({
  qq: 114514,
  // 推荐
  setting: './mcl/config/net.mamoe.mirai-api-http/setting.yml',
  // 您也可以按照其格式,手动书写对应 JSON
  // bot: ...
});
bot.start();

So easy! Right?

配置

你可以使用 JSON 编写配置文件,也可以考虑一下简洁而强大的 YAML

YAML 语言教程

YAML 是一种专攻配置的语言,可读性高(JSON 有时确实让人眼花缭乱不是么?)。(

mirai-api-http 同样也使用该语言配置 setting.yml

当然你还可以自由组合你的配置。(编写配置时,请务必注意你的层级和缩进。

譬如:

.
└── el
    ├── index.js
    └── index.yml
require("dotenv").config();
const { resolve } = require("path");
const { utils } = require("el-bot");

module.exports = {
  qq: parseInt(process.env.BOT_QQ),
  setting: {
    enableWebsocket: true
  },
  // 0.8.0 后 config 字段被重命名为 bot
  bot: {
    plugins: utils.config.parse(resolve(__dirname, "./index.yml"))
  }
};

阅读后续内容以使用更多的特性吧。

升级

npm install el-bot@latest
# yarn add el-bot@latest

el-bot 只是一个依赖库,意味着你可以基于此以任意的方式定制你的机器人。