# 快捷指南

# 介绍

docs (opens new window) npm (opens new window) GitHub package.json dependency version (prod) (opens new window) GitHub code size in bytes (opens new window) QQ Group (opens new window) Telegram (opens new window) GitHub (opens new window)

这是啥?

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

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

一份无关紧要的开发历程 (opens new window)

# Feature

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

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

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

el-bot 有什么好处?

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

WARNING

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

# 开始

首先,你必须得有 Java (opens new window)Node.js (opens new window) 环境。

TIP

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

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

# 安装

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

npm install el-bot
# yarn add el-bot

TIP

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

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

目录结构请参考 el-bot-template (opens new window) GitHub package.json version 或直接使用它生成你的机器人。

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',
  setting: {
    host: "localhost",
    port: 4859,
    authKey: "el-psy-congroo",
    enableWebsocket: false,
  },
  // bot: ...
});
bot.start();

So easy! Right?

# 配置

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

YAML 语言教程 (opens new window)

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 只是一个依赖库,意味着你可以基于此以任意的方式定制你的机器人。