diff --git a/zhenxun/builtin_plugins/admin/welcome_message/data_source.py b/zhenxun/builtin_plugins/admin/welcome_message/data_source.py index 5ba125ac..811a8dda 100644 --- a/zhenxun/builtin_plugins/admin/welcome_message/data_source.py +++ b/zhenxun/builtin_plugins/admin/welcome_message/data_source.py @@ -54,6 +54,8 @@ def migrate(path: Path): path: 路径 """ text_file = path / "text.json" + if not text_file.exists(): + return with text_file.open(encoding="utf8") as f: json_data = json.load(f) new_data = {} diff --git a/zhenxun/builtin_plugins/platform/qq/group_handle/__init__.py b/zhenxun/builtin_plugins/platform/qq/group_handle/__init__.py index da86b93d..d621f087 100644 --- a/zhenxun/builtin_plugins/platform/qq/group_handle/__init__.py +++ b/zhenxun/builtin_plugins/platform/qq/group_handle/__init__.py @@ -116,19 +116,19 @@ async def _( session: Uninfo, event: GroupIncreaseNoticeEvent | GroupMemberIncreaseEvent, ): - user_id = str(event.user_id) - group_id = str(event.group_id) - if user_id == bot.self_id: + if session.user.id == bot.self_id: """新成员为bot本身""" group, _ = await GroupConsole.get_or_create( - group_id=group_id, channel_id__isnull=True + group_id=str(event.group_id), channel_id__isnull=True ) try: - await GroupManager.add_bot(bot, str(event.operator_id), group_id, group) + await GroupManager.add_bot( + bot, str(event.operator_id), str(event.group_id), group + ) except ForceAddGroupError as e: await PlatformUtils.send_superuser(bot, e.get_info()) else: - await GroupManager.add_user(session, bot, user_id, group_id) + await GroupManager.add_user(session, bot) @group_decrease_handle.handle() diff --git a/zhenxun/builtin_plugins/platform/qq/group_handle/data_source.py b/zhenxun/builtin_plugins/platform/qq/group_handle/data_source.py index 9520da45..1190fb5e 100644 --- a/zhenxun/builtin_plugins/platform/qq/group_handle/data_source.py +++ b/zhenxun/builtin_plugins/platform/qq/group_handle/data_source.py @@ -234,7 +234,12 @@ class GroupManager: bot: Bot """ user_id = session.user.id - group_id = session.group.id if session.group else "" + group_id = "" + if session.group: + if session.group.parent: + group_id = session.group.parent.id + else: + group_id = session.group.id join_time = datetime.now() try: user_info = await bot.get_group_member_info(