Skip to content

脚本功能

v2.0-beta.12 版本中, 插件推出了脚本功能, 用户可以编写 JavaScript 代码来实现一些自定义的功能

在该版本中, 启动服务器时, 插件会自动在其文件夹下创建一个 plugins 文件夹, 并在里面查找插件 (脚本) 信息, 并自动加载脚本文件

准备工作

首先, 你需要在 plugins 文件夹下创建一个新的目录, 并在里面创建一个文件 manifest.json, 该文件用于描述脚本的基本信息, 需要包含以下字段:

jsonc
{
  "schema_version": 1, // 脚本使用的 aqqbot.d.ts 版本, 必填
  "entrypoint": "test.js", // 脚本入口文件名, 必填
  "name": "Test Script", // 脚本名称, 选填
  "description": "This is a test script", // 脚本描述, 选填
  "author": "alazeprt", // 脚本作者, 选填
  "version": "1.0.0" // 脚本版本, 选填
}

开始编写

plugins 文件夹下有一个 aqqbot.d.ts 文件, 该文件是 TypeScript 类型定义文件, 你可以将以下代码添加到你的 JavaScript 脚本开头以便获得类型提示:

javascript
/// <reference path="./aqqbot.d.ts" />

// 开始编写你的脚本代码

发布插件

你可以将插件发布到 AQQBot 官方插件仓库, 其他用户便可以通过内置命令安装插件并使用

首先, 你需要 Fork AQQBot 官方插件仓库, 然后将你的插件信息添加到其中的 repository.json, 示例如下:

jsonc
{
  // 存储库基本信息
  "name": "AQQBot 官方插件库",
  "author": "alazeprt",
  "description": "AQQBot 官方插件库, 收录了 AQQBot 社区开发者的一些优秀插件",
  "website": "https://github.com/alazeprt/AQQBot-Plugins",
  "schema_version": 1,
  // 插件列表
  "plugins": [
    // 其他插件 ...
    // 你的插件信息
    {
      // 先在这里填写你在 manifest.json 中填写的基本信息 (entrypoint 无需填写)
      "schema_version": 1, // 必填
      "name": "Test Script", // 必填
      "description": "This is a test script", // 选填
      "entrypoint": "test.js", // 选填
      "author": "alazeprt", // 必填
      "version": "1.0.0", // 必填
      "download": "https://example.com/test-script-1.0.0.zip", // 下载地址, 你需要填写的是一个下载 .zip 文件的链接, 下载后会自动解压到 AQQBot 插件目录下 (不会创建新的目录, 解压到插件目录下), 你也可以直接填写 GitHub 下载源码的链接
    }
  ]
}

在填写好后, 向 AQQBot 官方插件仓库提交 Pull Request, 等待审核通过即可