指令介绍 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 - 控制台事件始终拥有管理员权限,便于本地调试与运维