Skip to content

ElpsyCN/el-bot-template

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

el-bot-template

GitHub package.json version QQ Group telegram docs

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

你需要确保你已拥有 Java 与 Node.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",
  },
};