diff --git a/konabot/docs/lib/is_admin.txt b/konabot/docs/lib/is_admin.txt new file mode 100644 index 0000000..81abbab --- /dev/null +++ b/konabot/docs/lib/is_admin.txt @@ -0,0 +1,45 @@ +指令介绍 + is_admin - 用于判断当前事件是否来自管理员的内部权限校验函数 + +格式 + 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 中,则视为管理员 + + • Console(控制台) + - 所有控制台输入均默认视为管理员操作,自动返回 True + +配置项(位于插件配置中) + 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 列表 + +注意事项 + - 若未在配置文件中设置任何管理员 ID,该函数对所有非控制台事件返回 False + - 控制台事件始终拥有管理员权限,便于本地调试与运维 diff --git a/konabot/docs/user/man.txt b/konabot/docs/user/man.txt index 99034e5..f5358f1 100644 --- a/konabot/docs/user/man.txt +++ b/konabot/docs/user/man.txt @@ -2,7 +2,7 @@ man - 用于展示此方 BOT 使用手册的指令 格式 - man 文档类型 [文档类型选项] + man 文档类型 man [文档类型] <指令> 示例 @@ -18,7 +18,3 @@ - 3 库函数指令,用于 Bot 开发用的函数查询 - 7 概念指令,用于概念解释 - 8 系统指令,仅管理员可用 - -文档类型选项 - -p - 指定要列举的文档清单的页 diff --git a/konabot/docs/user/openssl.txt b/konabot/docs/user/openssl.txt new file mode 100644 index 0000000..34978fe --- /dev/null +++ b/konabot/docs/user/openssl.txt @@ -0,0 +1,21 @@ +指令介绍 + openssl - 用于生成指定长度的加密安全随机数据 + +格式 + openssl rand <模式> <字节数> + +示例 + `openssl rand -hex 16` 生成 16 字节的十六进制随机数 + `openssl rand -base64 32` 生成 32 字节并以 Base64 编码输出的随机数据 + +说明 + 该指令使用 Python 的 secrets 模块生成加密安全的随机字节,并支持以十六进制(-hex)或 Base64(-base64)格式输出。 + +参数说明 + 模式(mode) + - -hex :以十六进制字符串形式输出随机数据 + - -base64 :以 Base64 编码字符串形式输出随机数据 + + 字节数(num) + - 必须为正整数 + - 最大支持 256 字节 diff --git a/konabot/docs/user/ytpgif.txt b/konabot/docs/user/ytpgif.txt new file mode 100644 index 0000000..af3182a --- /dev/null +++ b/konabot/docs/user/ytpgif.txt @@ -0,0 +1,41 @@ +指令介绍 + ytpgif - 生成来回镜像翻转的仿 YTPMV 动图 + +格式 + ytpgif [倍速] + +示例 + `ytpgif` + 使用默认倍速(1.0)处理你发送或回复的图片,生成镜像动图。 + + `ytpgif 2.5` + 以 2.5 倍速处理图片,生成更快节奏的镜像动图。 + + 回复一张图片并发送 `ytpgif 0.5` + 以慢速(0.5 倍)生成镜像动图。 + +参数说明 + 倍速(可选) + - 类型:浮点数 + - 默认值:1.0 + - 有效范围:0.1 ~ 20.0 + - 作用: + • 对于静态图:控制镜像切换的快慢(值越大,切换越快)。 + • 对于动图:控制截取原始动图正向和反向片段的时长(值越大,截取的片段越长)。 + +使用方式 + 发送指令前,请确保: + - 直接在消息中附带一张图片,或 + - 回复一条包含图片的消息后再发送指令。 + + 插件会自动: + - 下载并识别图片(支持静态图和 GIF 动图) + - 自动缩放至最大边长不超过 256 像素(保持宽高比) + - 静态图 → 生成“原图↔镜像”循环动图 + - 动图 → 截取开头一段正向播放 + 同一段镜像翻转播放,拼接成新动图 + - 保留透明通道(如原图含透明),否则转为 RGB 避免颜色异常 + +注意事项 + - 图片过大、格式损坏或网络问题可能导致处理失败。 + - 动图帧数过多或单帧过短可能无法生成有效输出。 + - 输出 GIF 最大单段帧数限制为 500 帧,以防资源耗尽。 diff --git a/konabot/docs/user/喵.txt b/konabot/docs/user/喵.txt new file mode 100644 index 0000000..addf4e6 --- /dev/null +++ b/konabot/docs/user/喵.txt @@ -0,0 +1,2 @@ +指令介绍 + 喵 - 你发喵,此方就会回复喵 \ No newline at end of file diff --git a/konabot/docs/user/摇数字.txt b/konabot/docs/user/摇数字.txt new file mode 100644 index 0000000..97477f6 --- /dev/null +++ b/konabot/docs/user/摇数字.txt @@ -0,0 +1,7 @@ +指令介绍 + 摇数字 - 生成一个随机数字并发送 + +示例 + `摇数字` 随机生成一个 1-6 的数字 + +该指令不接受任何参数,直接调用即可。 diff --git a/konabot/docs/user/摇骰子.txt b/konabot/docs/user/摇骰子.txt new file mode 100644 index 0000000..99f2d50 --- /dev/null +++ b/konabot/docs/user/摇骰子.txt @@ -0,0 +1,22 @@ +指令介绍 + 摇骰子 - 用于生成随机数并以骰子图像形式展示的指令 + +格式 + 摇骰子 [最小值] [最大值] + +示例 + `摇骰子` 随机生成一个 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] 范围内的随机数(顺序无关,内部会自动处理大小) + +返回结果将以骰子样式的图像形式展示生成的随机数值。 diff --git a/konabot/docs/user/雷达回波.txt b/konabot/docs/user/雷达回波.txt new file mode 100644 index 0000000..18eb103 --- /dev/null +++ b/konabot/docs/user/雷达回波.txt @@ -0,0 +1,13 @@ +指令介绍 + 雷达回波 - 用于获取指定地区的天气雷达回波图像 + +格式 + 雷达回波 <地区> + +示例 + `雷达回波 华南` 获取华南地区的天气雷达回波图 + `雷达回波 全国` 获取全国的天气雷达回波图 + +说明 + 该指令通过查询中国气象局 https://www.nmc.cn/publish/radar/chinaall.html ,获取指定地区的实时天气雷达回波图像。 + 支持的地区有:全国 华北 东北 华东 华中 华南 西南 西北。 diff --git a/konabot/plugins/man/__init__.py b/konabot/plugins/man/__init__.py index a0af217..ed27620 100644 --- a/konabot/plugins/man/__init__.py +++ b/konabot/plugins/man/__init__.py @@ -101,4 +101,4 @@ help_deprecated = on_command('help', rule=nonebot.rule.to_me()) @help_deprecated.handle() async def _(): - await help_deprecated.send('请使用 man 指令来查询此方 bot 的帮助文档哦') + await help_deprecated.send('你可以使用 man 指令来查询此方 BOT 的帮助')