diff --git a/zhenxun/builtin_plugins/scheduler/chat_check.py b/zhenxun/builtin_plugins/scheduler/chat_check.py index 599dff353..5b4de3c14 100644 --- a/zhenxun/builtin_plugins/scheduler/chat_check.py +++ b/zhenxun/builtin_plugins/scheduler/chat_check.py @@ -19,22 +19,23 @@ async def _(): """检测群组发言时间并禁用全部被动""" update_list = [] - for bot in nonebot.get_bots().values(): - group_list, _ = await PlatformUtils.get_group_list(bot) - group_list = [g for g in group_list if g.channel_id == None] - for group in group_list: - try: - last_message = ( - await ChatHistory.filter(group_id=group.group_id) - .annotate() - .order_by("-create_time") - .first() - ) - if last_message: - now = datetime.now(pytz.timezone("Asia/Shanghai")) - if modules := await TaskInfo.annotate().values_list( - "module", flat=True - ): + if modules := await TaskInfo.annotate().values_list( + "module", flat=True + ): + for bot in nonebot.get_bots().values(): + group_list, _ = await PlatformUtils.get_group_list(bot) + group_list = [g for g in group_list if g.channel_id == None] + + for group in group_list: + try: + last_message = ( + await ChatHistory.filter(group_id=group.group_id) + .annotate() + .order_by("-create_time") + .first() + ) + if last_message: + now = datetime.now(pytz.timezone("Asia/Shanghai")) if now - timedelta(days=2) > last_message.create_time: _group, _ = await GroupConsole.get_or_create( group_id=group.group_id, channel_id__isnull=True @@ -46,9 +47,9 @@ async def _(): "Chat检测", target=_group.group_id, ) - except Exception as e: - logger.error( - "检测群组发言时间失败...", "Chat检测", target=group.group_id - ) + except Exception as e: + logger.error( + "检测群组发言时间失败...", "Chat检测", target=group.group_id + ) if update_list: await GroupConsole.bulk_update(update_list, ["block_task"], 10)