fix: land discord everyone mention gating

This commit is contained in:
Peter Steinberger 2026-04-04 02:04:59 +09:00
parent 6ba490ec7b
commit 5e69d7e75b
2 changed files with 18 additions and 2 deletions

View File

@ -29,7 +29,9 @@ Docs: https://docs.openclaw.ai
- Telegram/replies: preserve explicit topic targets when `replyTo` is present while still inheriting the current topic for same-chat replies without an explicit topic. (#59634) Thanks @dashhuang.
- Telegram/native commands: clean up metadata-driven progress placeholders when replies fall back, edits fail, or local exec approval prompts are suppressed. (#59300) Thanks @jalehman.
- Media/request overrides: resolve shared and capability-filtered media request SecretRefs correctly and expose media transport override fields to schema-driven config consumers. (#59848) Thanks @vincentkoc.
<<<<<<< HEAD
- Providers/request overrides: stop advertising unsupported proxy and TLS transport settings on `models.providers.*.request`, and fail closed if unvalidated config tries to route LLM model-provider traffic through dead transport fields. (#59682) Thanks @vincentkoc.
- Discord/mentions: treat `@everyone` and `@here` as valid mention-gate triggers in guild preflight so mention-required bots still respond to those broadcasts. (#60343) Thanks @geekhuashan.
- Matrix: allow secret-storage recreation during automatic repair bootstrap so clients that lose their recovery key can recover and persist new cross-signing keys. (#59846) Thanks @al3mart.
- Matrix/crypto persistence: capture and write the IndexedDB snapshot while holding the snapshot file lock so concurrent gateway and CLI persists cannot overwrite newer crypto state. (#59851) Thanks @al3mart.
- Ollama/auth: prefer real cloud auth over local marker during model auth resolution so cloud-backed Ollama auth does not get shadowed by stale local-only markers.

View File

@ -529,7 +529,7 @@ describe("preflightDiscordMessage", () => {
expect(result).not.toBeNull();
});
it("allows guild messages that mention @everyone", async () => {
it("treats @everyone as a mention when requireMention is true", async () => {
const channelId = "channel-everyone-mention";
const guildId = "guild-everyone-mention";
const message = createDiscordMessage({
@ -548,10 +548,24 @@ describe("preflightDiscordMessage", () => {
channelId,
guildId,
message,
discordConfig: {} as DiscordConfig,
discordConfig: {
botId: "openclaw-bot",
} as DiscordConfig,
guildEntries: {
[guildId]: {
channels: {
[channelId]: {
allow: true,
requireMention: true,
},
},
},
},
});
expect(result).not.toBeNull();
expect(result?.shouldRequireMention).toBe(true);
expect(result?.wasMentioned).toBe(true);
});
it("accepts allowlisted guild messages when guild object is missing", async () => {