Files
konabot/konabot/docs/lib/is_admin.txt

49 lines
1.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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