2021-11-23 21:44:59 +08:00
|
|
|
from nonebot import on_notice
|
|
|
|
|
from services.log import logger
|
|
|
|
|
from nonebot.adapters.cqhttp import Bot, GroupAdminNoticeEvent
|
|
|
|
|
from nonebot.typing import T_State
|
|
|
|
|
from models.level_user import LevelUser
|
|
|
|
|
from models.group_member_info import GroupInfoUser
|
|
|
|
|
from configs.config import Config
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
__zx_plugin_name__ = "群管理员变动监测 [Hidden]"
|
|
|
|
|
__plugin_version__ = 0.1
|
|
|
|
|
__plugin_author__ = "HibiKier"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin_notice = on_notice(priority=5)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@admin_notice.handle()
|
|
|
|
|
async def _(bot: Bot, event: GroupAdminNoticeEvent, state: T_State):
|
|
|
|
|
try:
|
|
|
|
|
nickname = (
|
|
|
|
|
await GroupInfoUser.get_member_info(event.user_id, event.group_id)
|
|
|
|
|
).user_name
|
|
|
|
|
except AttributeError:
|
|
|
|
|
nickname = event.user_id
|
|
|
|
|
if event.sub_type == "set":
|
|
|
|
|
await LevelUser.set_level(
|
|
|
|
|
event.user_id,
|
|
|
|
|
event.group_id,
|
|
|
|
|
Config.get_config("admin_bot_manage", "ADMIN_DEFAULT_AUTH"),
|
|
|
|
|
)
|
|
|
|
|
logger.info(
|
|
|
|
|
f"为新晋管理员 {nickname}({event.user_id}) "
|
|
|
|
|
f"添加权限等级:{Config.get_config('admin_bot_manage', 'ADMIN_DEFAULT_AUTH')}"
|
|
|
|
|
)
|
|
|
|
|
elif event.sub_type == "unset":
|
|
|
|
|
await LevelUser.delete_level(event.user_id, event.group_id)
|
|
|
|
|
logger.info(f"将非管理员 {nickname}({event.user_id}) 取消权限等级")
|