Skip to content

Commit 4cd0bb4

Browse files
committed
fix(qqbot): close strict command visibility gaps
1 parent cd5d91f commit 4cd0bb4

2 files changed

Lines changed: 6 additions & 8 deletions

File tree

extensions/qqbot/src/engine/commands/command-visibility.test.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,11 @@ describe("QQBot command visibility", () => {
6767
expect(classifyCoreCommandForGroup("/config", "strict").visibility).toBe("private");
6868
});
6969

70+
it("keeps strict mode fail-closed for unclassified slash commands", () => {
71+
expect(classifyCoreCommandForGroup("/bot-dynamic", "strict").visibility).toBe("private");
72+
expect(classifyCoreCommandForGroup("/unknown", "strict").visibility).toBe("private");
73+
});
74+
7075
it("does not make plugin and unknown slash commands private in all mode", () => {
7176
expect(classifyCoreCommandForGroup("/bot-help").visibility).not.toBe("private");
7277
expect(classifyCoreCommandForGroup("/unknown").visibility).not.toBe("private");

extensions/qqbot/src/engine/commands/command-visibility.ts

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -103,14 +103,7 @@ export function classifyCoreCommandForGroup(
103103
if (STRICT_CORE_COMMANDS.has(commandName)) {
104104
return { commandName, visibility: "hidden" };
105105
}
106-
if (
107-
GROUP_VISIBLE_CORE_COMMANDS.has(commandName) ||
108-
GROUP_HIDDEN_CORE_COMMANDS.has(commandName) ||
109-
PRIVATE_ONLY_CORE_COMMANDS.has(commandName)
110-
) {
111-
return { commandName, visibility: "private" };
112-
}
113-
return { commandName, visibility: "unknown" };
106+
return { commandName, visibility: "private" };
114107
}
115108
if (GROUP_VISIBLE_CORE_COMMANDS.has(commandName)) {
116109
return { commandName, visibility: "group" };

0 commit comments

Comments
 (0)