feat(discord): add silent message support (SUPPRESS_NOTIFICATIONS flag)

- Add silent option to message tool for Discord
- Passes SUPPRESS_NOTIFICATIONS flag (4096) to Discord API
- Threads silent param through entire outbound chain:
  - message-action-runner.ts
  - outbound-send-service.ts
  - message.ts
  - deliver.ts
  - discord outbound adapter
  - send.outbound.ts
  - send.shared.ts

Usage: message tool with silent=true suppresses push/desktop notifications
This commit is contained in:
nyanjou
2026-02-03 14:19:24 +01:00
committed by Shadow
parent b9da2c4679
commit 77df8b1104
7 changed files with 30 additions and 2 deletions

View File

@@ -6,22 +6,24 @@ export const discordOutbound: ChannelOutboundAdapter = {
chunker: null,
textChunkLimit: 2000,
pollMaxOptions: 10,
sendText: async ({ to, text, accountId, deps, replyToId }) => {
sendText: async ({ to, text, accountId, deps, replyToId, silent }) => {
const send = deps?.sendDiscord ?? sendMessageDiscord;
const result = await send(to, text, {
verbose: false,
replyTo: replyToId ?? undefined,
accountId: accountId ?? undefined,
silent: silent ?? undefined,
});
return { channel: "discord", ...result };
},
sendMedia: async ({ to, text, mediaUrl, accountId, deps, replyToId }) => {
sendMedia: async ({ to, text, mediaUrl, accountId, deps, replyToId, silent }) => {
const send = deps?.sendDiscord ?? sendMessageDiscord;
const result = await send(to, text, {
verbose: false,
mediaUrl,
replyTo: replyToId ?? undefined,
accountId: accountId ?? undefined,
silent: silent ?? undefined,
});
return { channel: "discord", ...result };
},

View File

@@ -80,6 +80,7 @@ export type ChannelOutboundContext = {
threadId?: string | number | null;
accountId?: string | null;
deps?: OutboundSendDeps;
silent?: boolean;
};
export type ChannelOutboundPayloadContext = ChannelOutboundContext & {