Skip to content

命令冷却(command_limits)

字数
239 字
阅读时间
2 分钟

本页说明在 cmd_perm 鉴权通过后,如何对高频命令做群级 / 私聊级冷却。权限「谁能用」见 cmd_perm;本页只回答「多久能再用」。

实现:pallas.core.limits插件侧只从 pallas.api.limits import

metadata 声明

python
from pallas.api.limits import command_limit_list, command_limit_row
from pallas.api.perm import command_perm_list, command_perm_row

extra={
    "command_permissions": command_perm_list(
        command_perm_row("my_plugin.demo", "示例命令", "everyone"),
    ),
    "command_limits": command_limit_list(
        command_limit_row("my_plugin.demo", 10),  # cd_sec
    ),
}
字段说明
id命令 ID,与 permissions / matcher 一致
cd_sec冷却秒数(command_limit_row 第二参)
scopegroup / private / auto(默认 auto

声明供 WebUI / 帮助展示;handler 内仍建议显式调用 helper。

handler

python
from pallas.api.limits import is_command_cooldown_ready, refresh_command_cooldown

CD_SEC = 10

async def handle_demo(event):
    if not await is_command_cooldown_ready(event, "my_plugin.demo", CD_SEC):
        return
    ...
    await refresh_command_cooldown(event, "my_plugin.demo", CD_SEC)

与权限的区别

权限冷却
谁能用多久能再用
文档cmd_perm本页

后续阅读