# 快捷指南

# 介绍

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

这是啥?

一个基于 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!

# 安装

你需要自行使用 miraiOK 或其他方法启动 mirai-console 及其插件 mirai-api-http

npm install el-bot
# yarn add el-bot

TIP

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

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

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

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

const bot = new Bot({
  qq: 114514,
  setting: {
    host: "localhost",
    port: 4859,
    authKey: "el-psy-congroo",
    enableWebsocket: false,
  },
  // config: ...
});
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,
  },
  config: {
    plugins: utils.config.parse(resolve(__dirname, "./index.yml")),
  },
};

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

# 升级

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

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