diff --git a/konabot/plugins/auto_accept.py b/konabot/plugins/auto_accept.py new file mode 100644 index 0000000..3283f03 --- /dev/null +++ b/konabot/plugins/auto_accept.py @@ -0,0 +1,25 @@ +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} 的好友请求") +