# 指令介绍

`is_admin` - 用于判断当前事件是否来自管理员的内部权限校验函数

# 格式

```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 中，则视为管理员
- 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
- 控制台事件始终拥有管理员权限，便于本地调试与运维
