Skip to content

ElpsyCN/el-bot-template

Repository files navigation

el-bot-template

GitHub package.json version QQ Group telegram docs

本仓库为包含 miraiel-bot 的基础可运行模版。 并在 package.json 中预置了几个简单的脚本。

你需要确保你已拥有 JavaNode.js 环境。

项目结构

.
├── LICENSE  // AGPL-3.0,你不应该用它进行商业或非法行为
├── README.md
├── bot  // 机器人实体,你可以自由编写代码扩展它
│   ├── README.md
│   └── index.js // 主文件
├── el  // 配置目录,存放机器人相关的配置(可自行解析 yml 文件)
│   ├── README.md
│   ├── index.js  // 所有配置文件(解析 yaml 的逻辑)
│   └── index.yml // 插件配置文件
├── mcl // mirai-console-loader 文件夹
├── nodemon.json  // 监听文件变动,自动重启(譬如修改配置时,非常方便)
├── package.json
│   ...

使用

mirai release mirai-console-loader release mirai-api-http release mirai-ts

克隆本模版

git clone https://github.com/ElpsyCN/el-bot-template your-el-bot
cd your-el-bot

安装依赖

el-bot

请检查 el-bot 是否为最新版本,模版的依赖更新可能要略微落后。
安装最新版本 el-bot:npm install el-bot@latest

# 安装 pnpm
# npm i -g pnpm
pnpm i
# npm install

安装 mirai

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

推荐使用官方启动器 mirai-console-loader 自行启动 mirai(v1.0 以上) 与 mirai-api-http 插件(v1.9.0 以上)。

下载 MCL Releases,并解压。

Example:

wget https://github.com/iTXTech/mirai-console-loader/releases/download/v1.0.4/mcl-1.0.4.zip
unzip -o -d mcl mcl-1.0.4.zip

启动 mirai

通过 mirai-console-loader 启动 mirai。(您也可以使用其他任意方式,并记得加载 mirai-api-http 插件。)

cd mcl
./mcl
# 添加自动登录
/autoLogin add 114514 yourpassword

配置

配置 mirai-api-http 插件

下载 mirai-api-http Releases jar 包,放置于 mcl/plugins 文件夹。

配置文件位于 mcl/config/net.mamoe.mirai-api-http/setting.yml

最好自行修改你的 authKey,否则你的机器人将很可能被 NTR

cors:
  - "*"
host: 0.0.0.0
port: 4859
authKey: el-psy-congroo
enableWebsocket: true

配置 bot

// el/index.ts
export default {
  // 你登录的 QQ 号
  qq: 12345679,
};

如果您需要上传本地图片语音文件,您需要配置您的 package.json 文件中 mcl.folder 字段为你的 mirai 文件夹相对本项目的路径。

默认值为项目本身目录下的 mcl 文件夹,建议直接将 mcl 启动器置于 mcl 文件夹下。

启动 bot

记得新建一个终端,并确保你的 mirai 控制台保持打开与 QQ 已经登录。 检测控制台是否可以正常使用的一个方式是访问 localhost:4859/about 查看是否有信息返回。(如果你修改了端口号,记得替换。)

npm run build
# 构建 ts
npm run bot
# 启动 bot

等价于:

npm run start
# yarn run start
# 开发,将会 watch 修改的文件
npm run dev

此时,你的 QQ 机器人就已经成功运行起来了。并将附带了一些默认的功能。

然后?然后参照 el-bot 文档 自定义吧。

说明

确保你的 QQ 已在 mirai 控制台中登录。

el-bot 将与已启动的 mirai 已登录的 QQ 建立连接。(如连接失败,则每隔三秒,自动重新连接。)

Webhook

  • enable: 是否启用
// el/index.ts
export default {
  webhook: {
    enable: true,
    path: "/webhook",
    port: 7777,
    secret: "el-psy-congroo",
  },
};