diff --git a/docs/channels/discord.md b/docs/channels/discord.md index e55b03a10..3f3031fa3 100644 --- a/docs/channels/discord.md +++ b/docs/channels/discord.md @@ -386,6 +386,59 @@ See [Slash commands](/tools/slash-commands) for command catalog and behavior. + + Presence updates are applied only when you set a status or activity field. + + Status only example: + +```json5 +{ + channels: { + discord: { + status: "idle", + }, + }, +} +``` + + Activity example (custom status is the default activity type): + +```json5 +{ + channels: { + discord: { + activity: "Focus time", + activityType: 4, + }, + }, +} +``` + + Streaming example: + +```json5 +{ + channels: { + discord: { + activity: "Live coding", + activityType: 1, + activityUrl: "https://twitch.tv/openclaw", + }, + }, +} +``` + + Activity type map: + + - 0: Playing + - 1: Streaming (requires `activityUrl`) + - 2: Listening + - 3: Watching + - 4: Custom (uses the activity text as the status state; emoji is optional) + - 5: Competing + + + Discord supports button-based exec approvals in DMs. @@ -515,6 +568,7 @@ High-signal Discord fields: - delivery: `textChunkLimit`, `chunkMode`, `maxLinesPerMessage` - media/retry: `mediaMaxMb`, `retry` - actions: `actions.*` +- presence: `activity`, `status`, `activityType`, `activityUrl` - features: `pluralkit`, `execApprovals`, `intents`, `agentComponents`, `heartbeat`, `responsePrefix` ## Safety and operations