Skip to content

工具 / 管理 (tools)

提供常用工具与管理指令:随机数 / UUID 生成、消息删除、批量清理消息、频道移动、文本转文件、指令同步。

  • 配置键tools
  • 源文件cogs/tools.py(批量清理逻辑在 modules/clear_message.py

指令

random — 生成随机数

生成指定范围内的随机整数。

项目说明
权限所有人
限速✅ 受限(random,默认 10 次 / 60s)
参数min_num(默认 1)、max_num(默认 114514
  • min_num > max_num 会自动交换。
  • 斜杠:/random min_num:1 max_num:100;前缀://random 1 100

uuid — 生成 UUID

生成一个随机 UUID,以**私密消息(ephemeral)**发送,并在延迟后自动删除。

项目说明
权限所有人
限速✅ 受限(uuid,默认 10 次 / 60s)
参数delete_after(删除延迟秒数,默认 secret_message_delay = 600)
  • 前缀命令中 delete_after <= 0 时使用默认值。

to-file — 文本转文件

将文本内容以文件形式发送。

项目说明
权限所有人
参数name(文件名)、content(文件内容)
限速✅ 受限(to-file,默认 10 次 / 60s)
审计✅ 记录(to-file
  • 前缀://to-file 文件名.txt 剩余内容作为文件正文content 为剩余全部文本)。

delete — 删除消息

删除当前频道中指定 ID 的单条消息。

项目说明
权限Mod
参数message_id(消息 ID)、show_to_public(是否公开显示结果,默认 false
机器人权限管理消息(Manage Messages)
审计✅ 记录(delete
  • 错误处理:权限不足 / 找不到消息 / ID 非整数等都会返回明确提示。

clear-message — 批量清除消息

按多种过滤条件批量清除消息,支持单频道或整个服务器。

项目说明
权限Mod
机器人权限管理消息(Manage Messages);读取历史消息
审计✅ 记录(clear-message

参数

参数说明
user目标用户(单个,选择器)
user_ids目标用户 ID 列表(逗号分隔)
webhook_ids目标 Webhook ID 列表(逗号分隔)
nick_pattern昵称通配符(fnmatch,如 *bot*
content_pattern消息内容通配符(fnmatch,如 *error*
message_count每个频道最多检查多少条消息(不填 / 0 = 不限制但较慢)
within_minutes仅清除最近几分钟内的消息(不填 / 0 = 不限制)
scope范围:channel(单频道,默认)或 server(整个服务器)
channel指定频道(仅 scope=channel 时生效,默认当前频道)
start起始范围:消息 ID 或时间(30m / 2h / 1d / ISO 时间)
end结束范围:消息 ID 或时间

约束

  • start/end 不能与 within_minutes/message_count 同时使用
  • 若不使用时间范围,message_countwithin_minutes 至少设置一个。
  • 若无任何范围限制,则必须至少提供一种匹配过滤条件。
  • 超过 14 天的消息无法批量删除(Discord 限制),会单独计为「因超过 14 天不可删」。
  • 机器人自己发出的、带 [clear-message] 标记的结果消息会被自动跳过,避免误删。

前缀命令 flag

前缀模式用 --key=value 传参:

//clear-message --user=@某人 --within=30m
//clear-message --nick="*bot*" --scope=server --count=500
//clear-message --content="*spam*" --start=1d --end=2h
  • 支持别名:--user-ids / --webhook-ids / --nick(=--nick-pattern) / --content(=--content-pattern) / --count / --within / --scope / --channel / --start / --end
  • --within 支持 30m / 2h / 1d 或纯分钟数。

结果消息 OK 按钮

清理结果消息附带一个 OK 按钮,点击可删除该结果消息(点击者需与指令相同的 Mod 权限)。

move-channel — 移动频道

将当前或指定频道移动到某分类,或某频道之前 / 之后。

项目说明
权限Mod
机器人权限管理频道(Manage Channels),且身份组层级足够
审计✅ 记录(move-channel

参数

参数说明
target_channel要操作的频道(默认当前频道)
category目标分类
before移动到此频道之前
after移动到此频道之后
sync_perm是否同步目标分类权限(默认 true
  • 必须至少提供 category / before / after 之一。
  • beforeafter 不能同时指定。
  • 前缀命令仅支持 target_channelcategory 两个位置参数。

/sync 已迁移至 管理指令

指令同步 /sync 和热重载 /reload 现在由 cogs/admin.py 提供。

限速

random / uuid / to-file 受滑动窗口限速,Admin 不受限、Mod 额度为普通用户的 mod_multiplier 倍。详见限速与 Rate Limit

配置

yaml
tools:
  enabled: false
  slash: true
  prefix: true
  ratelimit:              # 仅作用于 random / uuid / to-file
    enabled: true
    window: 60            # 时间窗口 (秒)
    mod_multiplier: 3     # mod 额度倍数; admin 不受限速
    random: 10
    uuid: 10
    "2file": 10           # to-file 的 YAML 键名 (兼容旧称)
字段类型默认值说明
enabledboolfalse是否启用工具模块
slashbooltrue是否注册斜杠指令
prefixbooltrue是否注册前缀指令
ratelimit.*限速配置,详见限速页

基于 MIT 许可发布