zhenxun_bot/zhenxun/builtin_plugins/init/__init__.py

42 lines
1.3 KiB
Python
Raw Normal View History

2022-12-27 11:31:34 +08:00
from pathlib import Path
2021-10-03 14:24:07 +08:00
2022-12-27 11:31:34 +08:00
import nonebot
2024-08-10 14:18:05 +08:00
from nonebot.adapters import Bot
from zhenxun.models.group_console import GroupConsole
from zhenxun.services.log import logger
from zhenxun.utils.platform import PlatformUtils
2021-11-23 21:44:59 +08:00
2022-12-27 11:31:34 +08:00
nonebot.load_plugins(str(Path(__file__).parent.resolve()))
2024-08-10 14:18:05 +08:00
driver = nonebot.get_driver()
@driver.on_bot_connect
async def _(bot: Bot):
"""将bot已存在的群组添加群认证
参数:
bot: Bot
"""
if PlatformUtils.get_platform(bot) == "qq":
logger.debug(f"更新Bot: {bot.self_id} 的群认证...")
group_list, _ = await PlatformUtils.get_group_list(bot)
db_group_list = await GroupConsole.all().values_list("group_id", flat=True)
create_list = []
update_id = []
2024-08-25 15:49:36 +08:00
for group in group_list:
if group.group_id not in db_group_list:
group.group_flag = 1
create_list.append(group)
2024-08-10 14:18:05 +08:00
else:
2024-08-25 15:49:36 +08:00
update_id.append(group.group_id)
2024-08-10 14:18:05 +08:00
if create_list:
await GroupConsole.bulk_create(create_list, 10)
else:
await GroupConsole.filter(group_id__in=update_id).update(group_flag=1)
logger.debug(
f"更新Bot: {bot.self_id} 的群认证完成,共创建 {len(create_list)} 条数据,共修改 {len(update_id)} 条数据..."
)