diff --git a/konabot/docs/concepts/中间答案.txt b/konabot/docs/concepts/中间答案.txt index 67c9e0b..184c0c0 100644 --- a/konabot/docs/concepts/中间答案.txt +++ b/konabot/docs/concepts/中间答案.txt @@ -1,4 +1,4 @@ -关于「中间答案」或者「提示」: +# 关于「中间答案」或者「提示」 在 KonaPH 中,当有人发送「提交答案 答案」时,会检查答案是否符合你设置的中间答案的 pattern。这个 pattern 可以有两种方式: diff --git a/konabot/docs/concepts/罗文.txt b/konabot/docs/concepts/罗文.txt index 34af1fd..bc122b8 100644 --- a/konabot/docs/concepts/罗文.txt +++ b/konabot/docs/concepts/罗文.txt @@ -1,2 +1,3 @@ -关于罗文和洛温: - AdoreLowen 希望和洛温阿特金森区分,所以最好就不要叫他洛温了!此方 BOT 会在一些群提醒叫错了的人。 +# 关于罗文和洛温 + +AdoreLowen 希望和洛温阿特金森区分,所以最好就不要叫他洛温了!此方 BOT 会在一些群提醒叫错了的人。 diff --git a/konabot/docs/lib/is_admin.txt b/konabot/docs/lib/is_admin.txt index 81abbab..ac72962 100644 --- a/konabot/docs/lib/is_admin.txt +++ b/konabot/docs/lib/is_admin.txt @@ -1,45 +1,48 @@ -指令介绍 - is_admin - 用于判断当前事件是否来自管理员的内部权限校验函数 +# 指令介绍 -格式 - from konabot.common.nb.is_admin import is_admin - from nonebot import on - from nonebot.adapters import Event - from loguru import logger +`is_admin` - 用于判断当前事件是否来自管理员的内部权限校验函数 - @on().handle() - async def _(event: Event): - if is_admin(event): - logger.info("管理员发送了消息") +# 格式 -说明 - is_admin 是 Bot 内部用于权限控制的核心函数,根据事件来源(QQ、Discord、控制台)及插件配置,判断触发事件的用户或群组是否具有管理员权限。 +```python +from konabot.common.nb.is_admin import is_admin +from nonebot import on +from nonebot.adapters import Event +from loguru import logger + +@on().handle() +async def _(event: Event): + if is_admin(event): + logger.info("管理员发送了消息") +``` + +# 说明 + +is_admin 是 Bot 内部用于权限控制的核心函数,根据事件来源(QQ、Discord、控制台)及插件配置,判断触发事件的用户或群组是否具有管理员权限。 支持的适配器与判定逻辑: - • OneBot V11(QQ) - - 若用户 ID 在配置项 admin_qq_account 中,则视为管理员 - - 若为群聊消息,且群 ID 在配置项 admin_qq_group 中,则视为管理员 - • Discord - - 若频道 ID 在配置项 admin_discord_channel 中,则视为管理员 - - 若用户 ID 在配置项 admin_discord_account 中,则视为管理员 +- OneBot V11(QQ) + - 若用户 ID 在配置项 admin_qq_account 中,则视为管理员 + - 若为群聊消息,且群 ID 在配置项 admin_qq_group 中,则视为管理员 +- Discord + - 若频道 ID 在配置项 admin_discord_channel 中,则视为管理员 + - 若用户 ID 在配置项 admin_discord_account 中,则视为管理员 +- Console(控制台) + - 所有控制台输入均默认视为管理员操作,自动返回 True - • Console(控制台) - - 所有控制台输入均默认视为管理员操作,自动返回 True +# 配置项(位于插件配置中) -配置项(位于插件配置中) - ADMIN_QQ_GROUP: list[int] - 允许的管理员 QQ 群 ID 列表 +- `ADMIN_QQ_GROUP`: `list[int]` + - 允许的管理员 QQ 群 ID 列表 +- `ADMIN_QQ_ACCOUNT`: `list[int]` + - 允许的管理员 QQ 账号 ID 列表 +- `ADMIN_DISCORD_CHANNEL`: `list[int]` + - 允许的管理员 Discord 频道 ID 列表 +- `ADMIN_DISCORD_ACCOUNT`: `list[int]` + - 允许的管理员 Discord 用户 ID 列表 - ADMIN_QQ_ACCOUNT: list[int] - 允许的管理员 QQ 账号 ID 列表 +# 注意事项 - ADMIN_DISCORD_CHANNEL: list[int] - 允许的管理员 Discord 频道 ID 列表 - - ADMIN_DISCORD_ACCOUNT: list[int] - 允许的管理员 Discord 用户 ID 列表 - -注意事项 - - 若未在配置文件中设置任何管理员 ID,该函数对所有非控制台事件返回 False - - 控制台事件始终拥有管理员权限,便于本地调试与运维 +- 若未在配置文件中设置任何管理员 ID,该函数对所有非控制台事件返回 False +- 控制台事件始终拥有管理员权限,便于本地调试与运维 diff --git a/konabot/docs/sys/konaph.txt b/konabot/docs/sys/konaph.txt index f6a7a89..80f9550 100644 --- a/konabot/docs/sys/konaph.txt +++ b/konabot/docs/sys/konaph.txt @@ -1,4 +1,5 @@ -指令介绍 - konaph - KonaBot 的 PuzzleHunt 管理工具 +# 指令介绍 + +`konaph` - KonaBot 的 PuzzleHunt 管理工具 详细介绍请直接输入 konaph 获取使用指引(该指令权限仅对部分人开放。如果你有权限的话才有响应。建议在此方 BOT 私聊使用该指令。) diff --git a/konabot/docs/user/giftool.txt b/konabot/docs/user/giftool.txt index 6dc2eaf..40a6f60 100644 --- a/konabot/docs/user/giftool.txt +++ b/konabot/docs/user/giftool.txt @@ -1,59 +1,83 @@ -指令介绍 - giftool - 对 GIF 动图进行裁剪、抽帧等处理 +# giftool - 对 GIF 动图进行裁剪、抽帧等处理 -格式 - giftool [图片] [选项] +## 格式 -示例 - 回复一张 GIF 并发送: - `giftool --ss 1.5 -t 2.0` - 从 1.5 秒处开始,截取 2 秒长度的片段。 +```bash +giftool [图片] [选项] +``` - `giftool [图片] --ss 0:10 -to 0:15` - 截取从 10 秒到 15 秒之间的片段(支持 MM:SS 或 HH:MM:SS 格式)。 +## 示例 - `giftool [图片] --frames:v 10` - 将整张 GIF 均匀抽帧,最终保留 10 帧。 +- **回复一张 GIF 并发送:** - `giftool [图片] --ss 2 --frames:v 5` - 从第 2 秒开始截取,并将结果抽帧为 5 帧。 + ```bash + giftool --ss 1.5 -t 2.0 + ``` -参数说明 - 图片(必需) - - 必须是 GIF 动图。 - - 支持直接附带图片,或回复一条含 GIF 的消息后使用指令。 + 从 1.5 秒处开始,截取 2 秒长度的片段。 - --ss <时间戳>(可选) - - 指定开始时间(单位:秒),可使用以下格式: - • 纯数字(如 `1.5` 表示 1.5 秒) - • 分秒格式(如 `1:30` 表示 1 分 30 秒) - • 时分秒格式(如 `0:1:30` 表示 1 分 30 秒) - - 默认从开头开始(0 秒)。 +- ```bash + giftool [图片] --ss 0:10 -to 0:15 + ``` - -t <持续时间>(可选) - - 指定截取的持续时间(单位:秒),格式同 --ss。 - - 与 --ss 配合使用:截取 [ss, ss + t] 区间。 - - 不能与 --to 同时使用。 + 截取从 10 秒到 15 秒之间的片段(支持 `MM:SS` 或 `HH:MM:SS` 格式)。 - --to <时间戳>(可选) - - 指定结束时间(单位:秒),格式同 --ss。 - - 与 --ss 配合使用:截取 [ss, to] 区间。 - - 不能与 -t 同时使用。 +- ```bash + giftool [图片] --frames:v 10 + ``` - --frames:v <帧数>(可选) - - 对截取后的片段进行均匀抽帧,保留指定数量的帧。 - - 帧数必须为正整数(> 0)。 - - 若原始帧数 ≤ 指定帧数,则保留全部帧。 + 将整张 GIF 均匀抽帧,最终保留 10 帧。 - --speed <速度>(可选) - - 调整 gif 图的速度。若为负数,则代表倒放 +- ```bash + giftool [图片] --ss 2 --frames:v 5 + ``` -使用方式 - 1. 发送指令前,请确保: - - 消息中附带一张 GIF 动图,或 - - 回复一条包含 GIF 动图的消息后再发送指令。 - 2. 插件会自动: - - 解析 GIF 的每一帧及其持续时间(duration) - - 根据时间参数转换为帧索引进行裁剪 - - 如指定抽帧,则对裁剪后的片段均匀采样 - - 生成新的 GIF 并保持原始循环设置(loop=0) + 从第 2 秒开始截取,并将结果抽帧为 5 帧。 + +## 参数说明 + +### 图片(必需) + +- 必须是 GIF 动图。 +- 支持直接附带图片,或回复一条含 GIF 的消息后使用指令。 + +### `--ss <时间戳>`(可选) + +- 指定开始时间(单位:秒),可使用以下格式: + - 纯数字(如 `1.5` 表示 1.5 秒) + - 分秒格式(如 `1:30` 表示 1 分 30 秒) + - 时分秒格式(如 `0:1:30` 表示 1 分 30 秒) +- 默认从开头开始(0 秒)。 + +### `-t <持续时间>`(可选) + +- 指定截取的持续时间(单位:秒),格式同 `--ss`。 +- 与 `--ss` 配合使用:截取 `[ss, ss + t]` 区间。 +- **不能与 `--to` 同时使用。** + +### `--to <时间戳>`(可选) + +- 指定结束时间(单位:秒),格式同 `--ss`。 +- 与 `--ss` 配合使用:截取 `[ss, to]` 区间。 +- **不能与 `-t` 同时使用。** + +### `--frames:v <帧数>`(可选) + +- 对截取后的片段进行均匀抽帧,保留指定数量的帧。 +- 帧数必须为正整数(> 0)。 +- 若原始帧数 ≤ 指定帧数,则保留全部帧。 + +### `--speed <速度>`(可选) + +- 调整 GIF 图的速度。若为负数,则代表倒放。 + +## 使用方式 + +1. 发送指令前,请确保: + - 消息中附带一张 GIF 动图,**或** + - 回复一条包含 GIF 动图的消息后再发送指令。 +2. 插件会自动: + - 解析 GIF 的每一帧及其持续时间(duration) + - 根据时间参数转换为帧索引进行裁剪 + - 如指定抽帧,则对裁剪后的片段均匀采样 + - 生成新的 GIF 并保持原始循环设置(`loop=0`) diff --git a/konabot/docs/user/man.txt b/konabot/docs/user/man.txt index f5358f1..dec39cc 100644 --- a/konabot/docs/user/man.txt +++ b/konabot/docs/user/man.txt @@ -1,20 +1,33 @@ -指令介绍 - man - 用于展示此方 BOT 使用手册的指令 +# 指令介绍 -格式 - man 文档类型 - man [文档类型] <指令> +`man` - 用于展示此方 BOT 使用手册的指令 -示例 - `man` 查看所有有文档的指令清单 - `man 3` 列举所有可读文档的库函数清单 - `man 喵` 查看指令「喵」的使用说明 - `man 8 out` 查看管理员指令「out」的使用说明 +## 格式 -文档类型 - 文档类型用来区分同一指令在不同场景下的情景。你可以使用数字编号进行筛选。分为这些种类: +``` +man 文档类型 +man [文档类型] <指令> +``` - - 1 用户态指令,用于日常使用的指令 - - 3 库函数指令,用于 Bot 开发用的函数查询 - - 7 概念指令,用于概念解释 - - 8 系统指令,仅管理员可用 +## 示例 + +- ``man`` + 查看所有有文档的指令清单 + +- ``man 3`` + 列举所有可读文档的库函数清单 + +- ``man 喵`` + 查看指令「喵」的使用说明 + +- ``man 8 out`` + 查看管理员指令「out」的使用说明 + +## 文档类型 + +文档类型用来区分同一指令在不同场景下的情景。你可以使用数字编号进行筛选。分为以下种类: + +- **1** 用户态指令:用于日常使用的指令 +- **3** 库函数指令:用于 Bot 开发用的函数查询 +- **7** 概念指令:用于概念解释 +- **8** 系统指令:仅管理员可用 diff --git a/konabot/docs/user/ntfy.txt b/konabot/docs/user/ntfy.txt index 88adcd2..cea0bbf 100644 --- a/konabot/docs/user/ntfy.txt +++ b/konabot/docs/user/ntfy.txt @@ -1,15 +1,16 @@ -指令介绍 - ntfy - 配置使用 ntfy 来更好地为你通知此方 BOT 代办 +## 指令介绍 +**`ntfy`** - 配置使用 [ntfy](https://ntfy.sh/) 来更好地为你通知此方 BOT 的代办事项。 -指令示例 - `ntfy 创建` - 创建一个随机的 ntfy 订阅主题来提醒代办,此方 Bot 将会给你使用指引。你可以前往 https://ntfy.sh/ 官网下载 ntfy APP,或者使用网页版 ntfy。 +## 指令示例 - `ntfy 创建 kagami-notice` - 创建一个名字含有 kagami-notice 的 ntfy 订阅主题 +- **`ntfy 创建`** + 创建一个随机的 ntfy 订阅主题来提醒代办。此方 Bot 将会给你使用指引。你可以前往 [https://ntfy.sh/](https://ntfy.sh/) 官网下载 ntfy APP,或者使用网页版 ntfy。 - `ntfy 删除` - 清除并不再使用 ntfy 向你通知 +- **`ntfy 创建 kagami-notice`** + 创建一个名称包含 `kagami-notice` 的 ntfy 订阅主题。 -另见 - 提醒我(1) 查询提醒(1) 删除提醒(1) +- **`ntfy 删除`** + 清除配置,不再使用 ntfy 向你发送通知。 + +## 另见 +[`提醒我(1)`](#) [`查询提醒(1)`](#) [`删除提醒(1)`](#) diff --git a/konabot/docs/user/openssl.txt b/konabot/docs/user/openssl.txt index 34978fe..afbd026 100644 --- a/konabot/docs/user/openssl.txt +++ b/konabot/docs/user/openssl.txt @@ -1,21 +1,39 @@ -指令介绍 - openssl - 用于生成指定长度的加密安全随机数据 +# 指令介绍 -格式 - openssl rand <模式> <字节数> +`openssl rand` — 用于生成指定长度的加密安全随机数据。 -示例 - `openssl rand -hex 16` 生成 16 字节的十六进制随机数 - `openssl rand -base64 32` 生成 32 字节并以 Base64 编码输出的随机数据 +## 格式 -说明 - 该指令使用 Python 的 secrets 模块生成加密安全的随机字节,并支持以十六进制(-hex)或 Base64(-base64)格式输出。 +```bash +openssl rand <模式> <字节数> +``` -参数说明 - 模式(mode) - - -hex :以十六进制字符串形式输出随机数据 - - -base64 :以 Base64 编码字符串形式输出随机数据 +## 示例 - 字节数(num) - - 必须为正整数 - - 最大支持 256 字节 +- ```bash + openssl rand -hex 16 + ``` + 生成 16 字节的十六进制随机数。 + +- ```bash + openssl rand -base64 32 + ``` + 生成 32 字节并以 Base64 编码输出的随机数据。 + +## 说明 + +该指令使用 Python 的 `secrets` 模块生成加密安全的随机字节,并支持以以下格式输出: +- 十六进制(`-hex`) +- Base64 编码(`-base64`) + +## 参数说明 + +### 模式(mode) + +- `-hex`:以十六进制字符串形式输出随机数据 +- `-base64`:以 Base64 编码字符串形式输出随机数据 + +### 字节数(num) + +- 必须为正整数 +- 最大支持 256 字节 diff --git a/konabot/docs/user/shadertool.txt b/konabot/docs/user/shadertool.txt index 8558d70..1f5d15e 100644 --- a/konabot/docs/user/shadertool.txt +++ b/konabot/docs/user/shadertool.txt @@ -1,47 +1,55 @@ -指令介绍 - shadertool - 使用 SkSL(Skia Shader Language)代码实时渲染并生成 GIF 动画 +# 指令介绍 +`shadertool` - 使用 SkSL(Skia Shader Language)代码实时渲染并生成 GIF 动画 -格式 - shadertool [选项] +## 格式 +```bash +shadertool [选项] +``` -示例 - shadertool """ - uniform float u_time; - uniform float2 u_resolution; +## 示例 +```bash +shadertool """ +uniform float u_time; +uniform float2 u_resolution; - half4 main(float2 coord) { - return half4( - 1.0, - sin((coord.y / u_resolution.y + u_time) * 3.1415926 * 2) * 0.5 + 0.5, - coord.x / u_resolution.x, - 1.0 - ); - } - """ +half4 main(float2 coord) { + return half4( + 1.0, + sin((coord.y / u_resolution.y + u_time) * 3.1415926 * 2) * 0.5 + 0.5, + coord.x / u_resolution.x, + 1.0 + ); +} +""" +``` -参数说明 - SkSL 代码(必填) - - 类型:字符串(建议用英文双引号包裹) - - 内容:符合 SkSL 语法的片段着色器代码,必须包含 `void main()` 函数,并为 `sk_FragColor` 赋值。 - - 注意:插件会自动去除代码首尾的单引号或双引号,便于命令行输入。 +## 参数说明 - --width <整数>(可选) - - 默认值:320 - - 作用:输出 GIF 的宽度(像素),必须大于 0。 +### SkSL 代码(必填) +- **类型**:字符串(建议用英文双引号包裹) +- **内容**:符合 SkSL 语法的片段着色器代码,必须包含 `main` 函数,并返回 `half4` 类型的颜色值。 +- **注意**:插件会自动去除代码首尾的单引号或双引号,便于命令行输入。 - --height <整数>(可选) - - 默认值:180 - - 作用:输出 GIF 的高度(像素),必须大于 0。 +### `--width <整数>`(可选) +- **默认值**:`320` +- **作用**:输出 GIF 的宽度(像素),必须大于 0。 - --duration <浮点数>(可选) - - 默认值:1.0 - - 作用:动画总时长(秒),必须大于 0。 - - 限制:`duration × fps` 必须 ≥ 1 且 ≤ 100(即至少 1 帧,最多 100 帧)。 +### `--height <整数>`(可选) +- **默认值**:`180` +- **作用**:输出 GIF 的高度(像素),必须大于 0。 - --fps <浮点数>(可选) - - 默认值:15.0 - - 作用:每秒帧数,控制动画流畅度,必须大于 0。 - - 常见值:10(低配流畅)、15(默认)、24/30(电影/视频级)。 +### `--duration <浮点数>`(可选) +- **默认值**:`1.0` +- **作用**:动画总时长(秒),必须大于 0。 +- **限制**:`duration × fps` 必须 ≥ 1 且 ≤ 100(即至少 1 帧,最多 100 帧)。 -使用方式 - 直接在群聊或私聊中发送 `shadertool` 指令,附上合法的 SkSL 代码即可。 +### `--fps <浮点数>`(可选) +- **默认值**:`15.0` +- **作用**:每秒帧数,控制动画流畅度,必须大于 0。 +- **常见值**: + - `10`:低配流畅 + - `15`:默认 + - `24` / `30`:电影/视频级流畅度 + +## 使用方式 +直接在群聊或私聊中发送 `shadertool` 指令,附上合法的 SkSL 代码即可。 diff --git a/konabot/docs/user/ytpgif.txt b/konabot/docs/user/ytpgif.txt index af3182a..9044e61 100644 --- a/konabot/docs/user/ytpgif.txt +++ b/konabot/docs/user/ytpgif.txt @@ -1,41 +1,72 @@ -指令介绍 - ytpgif - 生成来回镜像翻转的仿 YTPMV 动图 +# `ytpgif` 指令说明 -格式 - ytpgif [倍速] +## 功能简介 +`ytpgif` 用于生成来回镜像翻转的仿 YTPMV(YouTube Poop Music Video)风格动图。 -示例 - `ytpgif` - 使用默认倍速(1.0)处理你发送或回复的图片,生成镜像动图。 +--- - `ytpgif 2.5` - 以 2.5 倍速处理图片,生成更快节奏的镜像动图。 +## 命令格式 +```bash +ytpgif [倍速] +``` - 回复一张图片并发送 `ytpgif 0.5` - 以慢速(0.5 倍)生成镜像动图。 +--- -参数说明 - 倍速(可选) - - 类型:浮点数 - - 默认值:1.0 - - 有效范围:0.1 ~ 20.0 - - 作用: - • 对于静态图:控制镜像切换的快慢(值越大,切换越快)。 - • 对于动图:控制截取原始动图正向和反向片段的时长(值越大,截取的片段越长)。 +## 使用示例 -使用方式 - 发送指令前,请确保: - - 直接在消息中附带一张图片,或 - - 回复一条包含图片的消息后再发送指令。 +- **默认倍速** + ```bash + ytpgif + ``` + 使用默认倍速(1.0)处理你发送或回复的图片,生成镜像动图。 - 插件会自动: - - 下载并识别图片(支持静态图和 GIF 动图) - - 自动缩放至最大边长不超过 256 像素(保持宽高比) - - 静态图 → 生成“原图↔镜像”循环动图 - - 动图 → 截取开头一段正向播放 + 同一段镜像翻转播放,拼接成新动图 - - 保留透明通道(如原图含透明),否则转为 RGB 避免颜色异常 +- **指定倍速(较快)** + ```bash + ytpgif 2.5 + ``` + 以 2.5 倍速处理图片,生成节奏更快的镜像动图。 -注意事项 - - 图片过大、格式损坏或网络问题可能导致处理失败。 - - 动图帧数过多或单帧过短可能无法生成有效输出。 - - 输出 GIF 最大单段帧数限制为 500 帧,以防资源耗尽。 +- **指定倍速(较慢)** + 回复一张图片并发送: + ```bash + ytpgif 0.5 + ``` + 以 0.5 倍速生成慢节奏的镜像动图。 + +--- + +## 参数说明 + +### `倍速`(可选) +- **类型**:浮点数 +- **默认值**:`1.0` +- **有效范围**:`0.1 ~ 20.0` + +#### 作用: +- **静态图**:控制“原图 ↔ 镜像”切换的速度(值越大,切换越快)。 +- **GIF 动图**:控制截取原始动图正向与反向片段的时长(值越大,截取的片段越长)。 + +--- + +## 使用方式 + +在发送指令前,请确保满足以下任一条件: +- 在消息中**直接附带一张图片**,或 +- **回复一条包含图片的消息**后再发送指令。 + +插件将自动执行以下操作: +1. 下载并识别图片(支持静态图和 GIF 动图)。 +2. 自动缩放图像,**最大边长不超过 256 像素**(保持宽高比)。 +3. 根据图片类型处理: + - **静态图** → 生成“原图 ↔ 镜像”循环动图。 + - **GIF 动图** → 截取开头一段正向播放 + 同一段镜像翻转播放,拼接成新动图。 +4. **保留透明通道**(若原图含透明),否则转为 RGB 模式以避免颜色异常。 + +--- + +## 注意事项 + +⚠️ 以下情况可能导致处理失败或效果不佳: +- 图片过大、格式损坏或网络问题; +- 动图帧数过多或单帧持续时间过短; +- 输出 GIF 单段帧数超过 **500 帧**(系统将自动限制以防资源耗尽)。 diff --git a/konabot/docs/user/删除提醒.txt b/konabot/docs/user/删除提醒.txt index 189cc6c..3dc2f9e 100644 --- a/konabot/docs/user/删除提醒.txt +++ b/konabot/docs/user/删除提醒.txt @@ -1,8 +1,9 @@ -指令介绍 - 删除提醒 - 删除在`查询提醒(1)`中查到的提醒 +## 指令介绍 +**删除提醒** - 删除在 [`查询提醒(1)`](查询提醒(1)) 中查到的提醒 -指令示例 - `删除提醒 1` 在查询提醒后,删除编号为 1 的提醒 +## 指令示例 +`删除提醒 1` +在查询提醒后,删除编号为 1 的提醒 -另见 - 提醒我(1) 查询提醒(1) ntfy(1) +## 另见 +[`提醒我(1)`](提醒我(1)) [`查询提醒(1)`](查询提醒(1)) [`ntfy(1)`](ntfy(1)) diff --git a/konabot/docs/user/卵总展示.txt b/konabot/docs/user/卵总展示.txt index c51fde6..82d480e 100644 --- a/konabot/docs/user/卵总展示.txt +++ b/konabot/docs/user/卵总展示.txt @@ -1,20 +1,24 @@ -指令介绍 - 卵总展示 - 让卵总举起你的图片 +# 指令介绍 -格式 - <引用图片> 卵总展示 [选项] - 卵总展示 [选项] <图片> +**卵总展示** - 让卵总举起你的图片 -选项 - `--whiteness ` 白度 - 将原图进行指数变换,以调整它的白的程度,默认为 0.0 +## 格式 - `--black-level ` 黑色等级 - 将原图减淡,数值越大越淡,范围 0.0-1.0,默认 0.2 +``` +<引用图片> 卵总展示 [选项] +卵总展示 [选项] <图片> +``` - `--opacity ` 不透明度 - 将你的图片叠放在图片上的不透明度,默认为 0.8 +## 选项 - `--saturation ` 饱和度 - 调整原图的饱和度,应该要大于 0.0,默认为 0.85 +- `--whiteness ` **白度** + 将原图进行指数变换,以调整它的白的程度,默认为 `0.0`。 +- `--black-level ` **黑色等级** + 将原图减淡,数值越大越淡,范围 `0.0–1.0`,默认为 `0.2`。 + +- `--opacity ` **不透明度** + 将你的图片叠放在图片上的不透明度,默认为 `0.8`。 + +- `--saturation ` **饱和度** + 调整原图的饱和度,应大于 `0.0`,默认为 `0.85`。 diff --git a/konabot/docs/user/发起投票.txt b/konabot/docs/user/发起投票.txt index d4d3be5..0937412 100644 --- a/konabot/docs/user/发起投票.txt +++ b/konabot/docs/user/发起投票.txt @@ -1,11 +1,16 @@ -指令介绍 - 发起投票 - 发起一个投票 +### 指令介绍 +**发起投票** - 发起一个投票 -格式 - 发起投票 <投票标题> <选项1> <选项2> ... +### 格式 +``` +发起投票 <投票标题> <选项1> <选项2> ... +``` -示例 - `发起投票 这是一个投票 A B C` 发起标题为“这是一个投票”,选项为“A”、“B”、“C”的投票 +### 示例 +`发起投票 这是一个投票 A B C` +发起标题为“这是一个投票”,选项为“A”、“B”、“C”的投票。 -说明 - 投票各个选项之间用空格分隔,选项数量为2-15项。投票的默认有效期为24小时。 \ No newline at end of file +### 说明 +- 投票的各个选项之间用空格分隔。 +- 选项数量必须为 **2 到 15 项**。 +- 投票的默认有效期为 **24 小时**。 diff --git a/konabot/docs/user/喵.txt b/konabot/docs/user/喵.txt index addf4e6..bf8b3d4 100644 --- a/konabot/docs/user/喵.txt +++ b/konabot/docs/user/喵.txt @@ -1,2 +1,3 @@ -指令介绍 - 喵 - 你发喵,此方就会回复喵 \ No newline at end of file +# 指令介绍 + +喵 - 你发喵,此方就会回复喵 diff --git a/konabot/docs/user/投票.txt b/konabot/docs/user/投票.txt index 633e70e..b207a9c 100644 --- a/konabot/docs/user/投票.txt +++ b/konabot/docs/user/投票.txt @@ -1,12 +1,16 @@ -指令介绍 - 投票 - 参与已发起的投票 +## 指令介绍 +**投票** - 参与已发起的投票 -格式 - 投票 <投票ID/标题> <选项文本> +## 格式 +``` +投票 <投票ID/标题> <选项文本> +``` -示例 - `投票 1 A` 在ID为1的投票中,投给“A” - `投票 这是一个投票 B` 在标题为“这是一个投票”的投票中,投给“B” +## 示例 +- `投票 1 A` + 在 ID 为 1 的投票中,投给 “A” +- `投票 这是一个投票 B` + 在标题为 “这是一个投票” 的投票中,投给 “B” -说明 - 目前不支持单人多投,每个人只能投一项。 \ No newline at end of file +## 说明 +目前不支持单人多投,每个人只能投一项。 diff --git a/konabot/docs/user/提醒我.txt b/konabot/docs/user/提醒我.txt index 5ff9821..665c953 100644 --- a/konabot/docs/user/提醒我.txt +++ b/konabot/docs/user/提醒我.txt @@ -1,15 +1,18 @@ -指令介绍 - 提醒我 - 在指定的时间提醒人事项的工具 +## 指令介绍 -使用示例 - `下午五点提醒我吃饭` - 创建一个下午五点的提醒,提醒你吃饭 +**提醒我** - 在指定的时间提醒人事项的工具 - `两分钟后提醒我睡觉` - 创建一个相对于现在推迟 2 分钟的提醒,提醒你睡觉 +## 使用示例 - `2026年4月25日20点整提醒我生日快乐` - 创建一个指定日期和时间的提醒 +- `下午五点提醒我吃饭` + 创建一个下午五点的提醒,提醒你吃饭 -另见 - 查询提醒(1) 删除提醒(1) ntfy(1) +- `两分钟后提醒我睡觉` + 创建一个相对于现在推迟 2 分钟的提醒,提醒你睡觉 + +- `2026年4月25日20点整提醒我生日快乐` + 创建一个指定日期和时间的提醒 + +## 另见 + +[`查询提醒(1)`](查询提醒) [`删除提醒(1)`](删除提醒) [`ntfy(1)`](ntfy) diff --git a/konabot/docs/user/摇数字.txt b/konabot/docs/user/摇数字.txt index 97477f6..8a535b6 100644 --- a/konabot/docs/user/摇数字.txt +++ b/konabot/docs/user/摇数字.txt @@ -1,7 +1,13 @@ -指令介绍 - 摇数字 - 生成一个随机数字并发送 +## 指令介绍 -示例 - `摇数字` 随机生成一个 1-6 的数字 +**摇数字** - 生成一个随机数字并发送 -该指令不接受任何参数,直接调用即可。 +### 示例 + +``` +摇数字 +``` + +随机生成一个 1-6 的数字。 + +> 该指令不接受任何参数,直接调用即可。 diff --git a/konabot/docs/user/摇骰子.txt b/konabot/docs/user/摇骰子.txt index 99f2d50..c4918fb 100644 --- a/konabot/docs/user/摇骰子.txt +++ b/konabot/docs/user/摇骰子.txt @@ -1,22 +1,33 @@ -指令介绍 - 摇骰子 - 用于生成随机数并以骰子图像形式展示的指令 +# 指令介绍 -格式 - 摇骰子 [最小值] [最大值] +**摇骰子** - 用于生成随机数并以骰子图像形式展示的指令 -示例 - `摇骰子` 随机生成一个 1-6 的数字,并显示对应的骰子图像 - `摇骰子 10` 生成 1 到 10 之间的随机整数 - `摇骰子 0.5` 生成 0 到 0.5 之间的随机小数 - `摇骰子 -5 5` 生成 -5 到 5 之间的随机数 +## 格式 -说明 - 该指令支持以下几种调用方式: - - 不带参数:使用默认范围生成随机数 - - 仅指定一个参数 f1: - - 若 f1 > 1,则生成 [1, f1] 范围内的随机数 - - 若 0 < f1 ≤ 1,则生成 [0, f1] 范围内的随机数 - - 若 f1 ≤ 0,则生成 [f1, 0] 范围内的随机数 - - 指定两个参数 f1 和 f2:生成 [f1, f2] 范围内的随机数(顺序无关,内部会自动处理大小) +``` +摇骰子 [最小值] [最大值] +``` + +## 示例 + +- `摇骰子` + 随机生成一个 1–6 的数字,并显示对应的骰子图像 +- `摇骰子 10` + 生成 1 到 10 之间的随机整数 +- `摇骰子 0.5` + 生成 0 到 0.5 之间的随机小数 +- `摇骰子 -5 5` + 生成 -5 到 5 之间的随机数 + +## 说明 + +该指令支持以下几种调用方式: + +- **不带参数**:使用默认范围(1–6)生成随机数 +- **仅指定一个参数 `f1`**: + - 若 `f1 > 1`,则生成 `[1, f1]` 范围内的随机数 + - 若 `0 < f1 ≤ 1`,则生成 `[0, f1]` 范围内的随机数 + - 若 `f1 ≤ 0`,则生成 `[f1, 0]` 范围内的随机数 +- **指定两个参数 `f1` 和 `f2`**:生成 `[f1, f2]` 范围内的随机数(顺序无关,内部会自动处理大小) 返回结果将以骰子样式的图像形式展示生成的随机数值。 diff --git a/konabot/docs/user/查看投票.txt b/konabot/docs/user/查看投票.txt index f2b53f6..3d62b1b 100644 --- a/konabot/docs/user/查看投票.txt +++ b/konabot/docs/user/查看投票.txt @@ -1,12 +1,22 @@ -指令介绍 - 查看投票 - 查看已发起的投票 +# 指令介绍 -格式 - 查看投票 <投票ID或标题> +**查看投票** - 查看已发起的投票 -示例 - `查看投票 1` 查看ID为1的投票 - `查看投票 这是一个投票` 查看标题为“这是一个投票”的投票 +## 格式 -说明 - 投票在进行时,使用此命令可以看到投票的各个选项;投票结束后,则可以看到各项的票数。 \ No newline at end of file +``` +查看投票 <投票ID或标题> +``` + +## 示例 + +- `查看投票 1` + 查看 ID 为 1 的投票 + +- `查看投票 这是一个投票` + 查看标题为“这是一个投票”的投票 + +## 说明 + +- 投票进行中时,使用此命令可查看投票的各个选项; +- 投票结束后,可查看各选项的最终票数。 diff --git a/konabot/docs/user/查询提醒.txt b/konabot/docs/user/查询提醒.txt index 418585e..b888d26 100644 --- a/konabot/docs/user/查询提醒.txt +++ b/konabot/docs/user/查询提醒.txt @@ -1,9 +1,9 @@ -指令介绍 - 查询提醒 - 查询已经创建的提醒 +# 指令介绍 +**查询提醒** - 查询已经创建的提醒 -指令格式 - `查询提醒` 查询提醒 - `查询提醒 2` 查询第二页提醒 +## 指令格式 +- `查询提醒`:查询提醒 +- `查询提醒 2`:查询第二页提醒 -另见 - 提醒我(1) 删除提醒(1) ntfy(1) +## 另见 +[提醒我(1)]() [删除提醒(1)]() [ntfy(1)]() diff --git a/konabot/docs/user/生成二维码.txt b/konabot/docs/user/生成二维码.txt index 42ad4cf..9340006 100644 --- a/konabot/docs/user/生成二维码.txt +++ b/konabot/docs/user/生成二维码.txt @@ -1,8 +1,17 @@ -指令介绍 - 生成二维码 - 将文本内容转换为二维码 +## 指令介绍 -格式 - 生成二维码 <文本内容> +**生成二维码** - 将文本内容转换为二维码 -示例 - `生成二维码 嗨嗨嗨` 生成扫描结果为“嗨嗨嗨”的二维码图片 \ No newline at end of file +### 格式 + +``` +生成二维码 <文本内容> +``` + +### 示例 + +``` +生成二维码 嗨嗨嗨 +``` + +生成扫描结果为“嗨嗨嗨”的二维码图片 diff --git a/konabot/docs/user/订阅.txt b/konabot/docs/user/订阅.txt index 18cd0c3..a01305a 100644 --- a/konabot/docs/user/订阅.txt +++ b/konabot/docs/user/订阅.txt @@ -1,22 +1,30 @@ -指令介绍 - 订阅 - 收听此方 BOT 的自动消息发送 +# 指令介绍 -格式 - 订阅 <频道名称> - 取消订阅 <频道名称> - 查询订阅 [页码] - 可用订阅 [页码] +**订阅** - 收听此方 BOT 的自动消息发送。 -示例 - `订阅 此方谜题` - 在当前的聊天上下文订阅「此方谜题」频道。此后会每天推送此方谜题(由 konaph(8) 管理的)。 - 如果你是私聊,则能够每天发送此方谜题到你的私聊;如果在群聊中使用该指令,则会每天发送题目到这个群里面。 +--- - `取消订阅 此方谜题` - 取消订阅「此方谜题」频道。 +## 格式 - `查询订阅` - 查询当前聊天上下文订阅的所有频道。 +- `订阅 <频道名称>` +- `取消订阅 <频道名称>` +- `查询订阅 [页码]` +- `可用订阅 [页码]` - `可用订阅 2` - 查询所有可用的订阅的第二页 +--- + +## 示例 + +- **`订阅 此方谜题`** + 在当前的聊天上下文订阅「此方谜题」频道。此后会每天推送此方谜题(由 konaph(8) 管理的)。 + - 如果你是私聊,则能够每天发送此方谜题到你的私聊; + - 如果在群聊中使用该指令,则会每天发送题目到这个群里面。 + +- **`取消订阅 此方谜题`** + 取消订阅「此方谜题」频道。 + +- **`查询订阅`** + 查询当前聊天上下文订阅的所有频道。 + +- **`可用订阅 2`** + 查询所有可用的订阅的第二页。 diff --git a/konabot/docs/user/雷达回波.txt b/konabot/docs/user/雷达回波.txt index 18eb103..ef8e6fd 100644 --- a/konabot/docs/user/雷达回波.txt +++ b/konabot/docs/user/雷达回波.txt @@ -1,13 +1,20 @@ -指令介绍 - 雷达回波 - 用于获取指定地区的天气雷达回波图像 +# 指令介绍 -格式 - 雷达回波 <地区> +**雷达回波** - 用于获取指定地区的天气雷达回波图像。 -示例 - `雷达回波 华南` 获取华南地区的天气雷达回波图 - `雷达回波 全国` 获取全国的天气雷达回波图 +## 格式 -说明 - 该指令通过查询中国气象局 https://www.nmc.cn/publish/radar/chinaall.html ,获取指定地区的实时天气雷达回波图像。 - 支持的地区有:全国 华北 东北 华东 华中 华南 西南 西北。 +``` +雷达回波 <地区> +``` + +## 示例 + +- `雷达回波 华南`:获取华南地区的天气雷达回波图 +- `雷达回波 全国`:获取全国的天气雷达回波图 + +## 说明 + +该指令通过查询中国气象局 [https://www.nmc.cn/publish/radar/chinaall.html](https://www.nmc.cn/publish/radar/chinaall.html),获取指定地区的实时天气雷达回波图像。 + +支持的地区有:**全国**、**华北**、**东北**、**华东**、**华中**、**华南**、**西南**、**西北**。 diff --git a/konabot/docs/user/黑白.txt b/konabot/docs/user/黑白.txt index 4732073..82ce7fa 100644 --- a/konabot/docs/user/黑白.txt +++ b/konabot/docs/user/黑白.txt @@ -1,5 +1,7 @@ -指令介绍 - 黑白 - 将图片经过一个黑白滤镜的处理 +## 指令介绍 -示例 - 引用一个带有图片的消息,或者消息本身携带图片,然后发送「黑白」即可 +**黑白** - 将图片经过一个黑白滤镜的处理 + +## 示例 + +引用一个带有图片的消息,或者消息本身携带图片,然后发送「黑白」即可 diff --git a/konabot/plugins/man/__init__.py b/konabot/plugins/man/__init__.py index 451a079..a7b9585 100644 --- a/konabot/plugins/man/__init__.py +++ b/konabot/plugins/man/__init__.py @@ -2,13 +2,13 @@ from pathlib import Path import nonebot import nonebot.adapters -import nonebot.adapters.discord import nonebot.rule from nonebot import on_command from nonebot_plugin_alconna import Alconna, Args, UniMessage, on_alconna from konabot.common.nb.is_admin import is_admin from konabot.common.path import DOCS_PATH_MAN1, DOCS_PATH_MAN3, DOCS_PATH_MAN7, DOCS_PATH_MAN8 +from konabot.plugins.markdown.core import MarkDownCore def search_man(section: int) -> dict[tuple[int, str], Path]: base_path = { @@ -64,7 +64,7 @@ async def _( for section in section_set: mans += [f"{n}({s})" for s, n in search_man(section).keys()] mans.sort() - + await man.send(UniMessage().text( ( "★此方 BOT 使用帮助★\n" @@ -94,9 +94,9 @@ async def _( await man.send(UniMessage().text("你所检索的指令不存在")) return mans_msg = mans_fp.read_text('utf-8', 'replace') - if isinstance(event, nonebot.adapters.discord.event.MessageEvent): - mans_msg = f'```\n{mans_msg}\n```' - await man.send(UniMessage().text(mans_msg)) + # await man.send(UniMessage().text(mans_msg)) + img = await MarkDownCore.render_markdown(mans_msg) + await man.send(UniMessage.image(raw=img)) help_deprecated = on_command('help', rule=nonebot.rule.to_me())