26 lines
866 B
Python
26 lines
866 B
Python
import asyncio
|
|
import random
|
|
from typing import cast
|
|
|
|
from loguru import logger
|
|
from nonebot import get_bot, on_request
|
|
from nonebot.adapters.onebot.v11.event import FriendRequestEvent
|
|
from nonebot.adapters.onebot.v11.bot import Bot as OnebotBot
|
|
|
|
from konabot.common.nb.is_admin import cfg as adminConfig
|
|
|
|
add_request = on_request()
|
|
|
|
@add_request.handle()
|
|
async def _(req: FriendRequestEvent):
|
|
bot = cast(OnebotBot, get_bot(str(req.self_id)))
|
|
ok_member_ls: set[int] = set()
|
|
for group in adminConfig.admin_qq_group:
|
|
members = await bot.get_group_member_list(group_id=group)
|
|
ok_member_ls |= cast(set[int], set((m.get("user_id") for m in members)))
|
|
if req.user_id in ok_member_ls:
|
|
await asyncio.sleep(random.randint(5, 10))
|
|
await req.approve(bot)
|
|
logger.info(f"已经自动同意 {req.user_id} 的好友请求")
|
|
|