🐛 修复bug

This commit is contained in:
HibiKier 2024-08-27 23:31:53 +08:00
parent a46cea5948
commit 95ad0e6aa5

View File

@ -1,12 +1,13 @@
import os import os
import random
import re import re
import random
from datetime import datetime from datetime import datetime
import nonebot
import ujson as json import ujson as json
from nonebot import on_notice, on_request
from nonebot.adapters import Bot from nonebot.adapters import Bot
from nonebot_plugin_alconna import At
from nonebot import on_notice, on_request
from nonebot.plugin import PluginMetadata
from nonebot.adapters.onebot.v11 import ( from nonebot.adapters.onebot.v11 import (
GroupDecreaseNoticeEvent, GroupDecreaseNoticeEvent,
GroupIncreaseNoticeEvent, GroupIncreaseNoticeEvent,
@ -15,22 +16,20 @@ from nonebot.adapters.onebot.v12 import (
GroupMemberDecreaseEvent, GroupMemberDecreaseEvent,
GroupMemberIncreaseEvent, GroupMemberIncreaseEvent,
) )
from nonebot.plugin import PluginMetadata
from nonebot_plugin_alconna import At
from zhenxun.configs.config import BotConfig, Config from zhenxun.services.log import logger
from zhenxun.configs.path_config import DATA_PATH, IMAGE_PATH from zhenxun.utils.utils import FreqLimiter
from zhenxun.configs.utils import PluginExtraData, RegisterConfig, Task from zhenxun.models.task_info import TaskInfo
from zhenxun.utils.message import MessageUtils
from zhenxun.models.fg_request import FgRequest from zhenxun.models.fg_request import FgRequest
from zhenxun.models.group_console import GroupConsole
from zhenxun.models.group_member_info import GroupInfoUser
from zhenxun.models.level_user import LevelUser from zhenxun.models.level_user import LevelUser
from zhenxun.models.plugin_info import PluginInfo from zhenxun.models.plugin_info import PluginInfo
from zhenxun.models.task_info import TaskInfo from zhenxun.configs.config import Config, BotConfig
from zhenxun.services.log import logger from zhenxun.models.group_console import GroupConsole
from zhenxun.models.group_member_info import GroupInfoUser
from zhenxun.utils.enum import PluginType, RequestHandleType from zhenxun.utils.enum import PluginType, RequestHandleType
from zhenxun.utils.message import MessageUtils from zhenxun.configs.path_config import DATA_PATH, IMAGE_PATH
from zhenxun.utils.utils import FreqLimiter from zhenxun.configs.utils import Task, RegisterConfig, PluginExtraData
__plugin_meta__ = PluginMetadata( __plugin_meta__ = PluginMetadata(
name="QQ群事件处理", name="QQ群事件处理",
@ -129,7 +128,7 @@ async def _(bot: Bot, event: GroupIncreaseNoticeEvent | GroupMemberIncreaseEvent
message=f"触发强制入群保护,已成功退出群聊 {group_id}...", message=f"触发强制入群保护,已成功退出群聊 {group_id}...",
) )
logger.info( logger.info(
f"强制拉群或未有群信息,退出群聊成功", "强制拉群或未有群信息,退出群聊成功",
"入群检测", "入群检测",
group_id=event.group_id, group_id=event.group_id,
) )
@ -140,7 +139,7 @@ async def _(bot: Bot, event: GroupIncreaseNoticeEvent | GroupMemberIncreaseEvent
await req.save(update_fields=["handle_type"]) await req.save(update_fields=["handle_type"])
except Exception as e: except Exception as e:
logger.error( logger.error(
f"强制拉群或未有群信息,退出群聊失败", "强制拉群或未有群信息,退出群聊失败",
"入群检测", "入群检测",
group_id=event.group_id, group_id=event.group_id,
e=e, e=e,
@ -209,7 +208,7 @@ async def _(bot: Bot, event: GroupIncreaseNoticeEvent | GroupMemberIncreaseEvent
user_info["user_id"], user_info["group_id"], 9 user_info["user_id"], user_info["group_id"], 9
) )
logger.debug( logger.debug(
f"添加超级用户权限: 9", "添加超级用户权限: 9",
"入群检测", "入群检测",
session=user_info["user_id"], session=user_info["user_id"],
group_id=user_info["group_id"], group_id=user_info["group_id"],
@ -243,8 +242,8 @@ async def _(bot: Bot, event: GroupIncreaseNoticeEvent | GroupMemberIncreaseEvent
img_file = path / f"{i}.png" img_file = path / f"{i}.png"
if img_file.exists(): if img_file.exists():
msg_list.append(img_file) msg_list.append(img_file)
if not TaskInfo.is_block("group_welcome", group_id): if not await TaskInfo.is_block("group_welcome", group_id):
logger.info(f"发送群欢迎消息...", "入群检测", group_id=group_id) logger.info("发送群欢迎消息...", "入群检测", group_id=group_id)
if msg_list: if msg_list:
await MessageUtils.build_message(msg_list).send() await MessageUtils.build_message(msg_list).send()
else: else:
@ -275,6 +274,7 @@ async def _(bot: Bot, event: GroupDecreaseNoticeEvent | GroupMemberDecreaseEvent
operator_name = "None" operator_name = "None"
group = await GroupConsole.filter(group_id=str(group_id)).first() group = await GroupConsole.filter(group_id=str(group_id)).first()
group_name = group.group_name if group else "" group_name = group.group_name if group else ""
if superuser := BotConfig.get_superuser("qq"):
coffee = int(superuser) coffee = int(superuser)
await bot.send_private_msg( await bot.send_private_msg(
user_id=coffee, user_id=coffee,
@ -312,7 +312,7 @@ async def _(bot: Bot, event: GroupDecreaseNoticeEvent | GroupMemberDecreaseEvent
operator = await bot.get_group_member_info( operator = await bot.get_group_member_info(
user_id=event.operator_id, group_id=event.group_id user_id=event.operator_id, group_id=event.group_id
) )
operator_name = operator["card"] if operator["card"] else operator["nickname"] operator_name = operator["card"] or operator["nickname"]
result = f"{user_name}{operator_name} 送走了." result = f"{user_name}{operator_name} 送走了."
if not TaskInfo.is_block("refund_group_remind", str(event.group_id)): if not await TaskInfo.is_block("refund_group_remind", str(event.group_id)):
await group_decrease_handle.send(f"{result}") await group_decrease_handle.send(f"{result}")