From 9f3f79f51d655606e97b5259f433562b9a2d13df Mon Sep 17 00:00:00 2001 From: passthem Date: Fri, 17 Oct 2025 01:04:34 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=90=8C=E6=84=8F=E5=B0=8F?= =?UTF-8?q?=E5=9B=A2=E4=BD=93=E7=9A=84=E5=A5=BD=E5=8F=8B=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- konabot/plugins/auto_accept.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 konabot/plugins/auto_accept.py 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} 的好友请求") +