diff --git a/astrbot/core/pipeline/whitelist_check/stage.py b/astrbot/core/pipeline/whitelist_check/stage.py index 024de083..cff215da 100644 --- a/astrbot/core/pipeline/whitelist_check/stage.py +++ b/astrbot/core/pipeline/whitelist_check/stage.py @@ -51,7 +51,7 @@ class WhitelistCheckStage(Stage): and event.get_message_type() == MessageType.FRIEND_MESSAGE ): return - if event.unified_msg_origin not in self.whitelist: + if event.unified_msg_origin not in self.whitelist and event.get_group_id() not in self.whitelist: if self.wl_log: logger.info( f"会话 ID {event.unified_msg_origin} 不在会话白名单中,已终止事件传播。请在配置文件中添加该会话 ID 到白名单。" diff --git a/packages/astrbot/main.py b/packages/astrbot/main.py index 70f9efa4..93e370e3 100644 --- a/packages/astrbot/main.py +++ b/packages/astrbot/main.py @@ -262,8 +262,15 @@ class Main(star.Star): """获取会话 ID 和 管理员 ID""" sid = event.unified_msg_origin user_id = str(event.get_sender_id()) - ret = f"""SID: {sid} 此 ID 可用于设置会话白名单。/wl 添加白名单, /dwl 删除白名单。 -UID: {user_id} 此 ID 可用于设置管理员。/op 授权管理员, /deop 取消管理员。""" + ret = f"""SID: {sid} 此 ID 可用于设置会话白名单。 +/wl 添加白名单, /dwl 删除白名单。 + +UID: {user_id} 此 ID 可用于设置管理员。 +/op 授权管理员, /deop 取消管理员。""" + + if self.context.get_config()["platform_settings"]["unique_session"] and event.get_group_id(): + ret += f"\n\n当前处于独立会话模式, 此群 ID: {event.get_group_id()}, 也可将此 ID 加入白名单来放行整个群聊。" + event.set_result(MessageEventResult().message(ret).use_t2i(False)) @filter.permission_type(filter.PermissionType.ADMIN)