Discord Rich Presence lets your friends and server members see exactly what you’re listening to, right inside your Discord profile. When VIVI Music’s Discord integration is active, your status automatically updates with the current song title, artist, album art, and a live playback progress bar — no manual updates needed. The integration is powered by VIVI’s embeddedDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/vivizzz007/vivi-music/llms.txt
Use this file to discover all available pages before exploring further.
kizzy module, which maintains a persistent WebSocket connection to the Discord Gateway.
Enabling the integration
Log in to Discord
Two login options are available in the profile card:
- Login — opens the
DiscordLoginScreenin-app browser for a standard Discord sign-in flow. - Advanced Login (Token) — opens a token-entry dialog where you can paste your Discord user token directly. The token is verified immediately via
KizzyRPC.getUserInfobefore being saved.
What is displayed in your status
When a track is playing, the Rich Presence card visible to your Discord contacts shows:Activity label
Shown as “Listening to VIVI Music” (or a custom activity name you set in Advanced Mode). The activity type is configurable: Listening, Playing, Watching, or Competing.
Album art
The track’s thumbnail is shown as the large image. The primary artist’s avatar appears as the small overlay icon when available.
Song & artist
Track title and artist name appear as the presence title and subtitle text. Enabling Use Details adds the album name as a second line of detail.
Progress bar
A wavy progress indicator shows elapsed and total time, updating in real time as playback advances.
Customising your presence (Advanced Mode)
Enabling Advanced Mode unlocks a second settings group with fine-grained controls:Presence settings
Presence settings
| Setting | Options |
|---|---|
| Status | Online, Idle, Do Not Disturb |
| Activity type | Listening, Playing, Watching, Competing |
| Activity name | Custom text shown as the presence header |
Button customisation
Button customisation
How the kizzy Gateway module works
Thekizzy Gradle module implements the full Discord Gateway WebSocket protocol. DiscordWebSocket connects to wss://gateway.discord.gg/?v=9&encoding=json and handles the complete message lifecycle:
- HELLO — receives the server’s
heartbeatIntervaland begins a periodic heartbeat job. - IDENTIFY / RESUME — authenticates or resumes an existing session using the stored token.
- PRESENCE_UPDATE — pushes the current
Presencepayload (song, artwork, timestamps) to Discord whenever VIVI’s track changes. - RECONNECT / INVALID_SESSION — automatically reconnects with exponential back-off (1 s initial, 60 s maximum), so the integration recovers silently from network interruptions.
Privacy
Rich Presence is governed entirely by your own Discord privacy settings. You can restrict who sees your activity status (everyone, friends only, or nobody) from Discord → User Settings → Privacy & Safety. Disabling the integration in VIVI immediately stops sendingPRESENCE_UPDATE payloads, so your status clears within seconds.
Disconnecting Discord
Tap Logout in the profile card on the Discord settings screen. This clearsDiscordTokenKey, DiscordUsernameKey, DiscordNameKey, and DiscordAvatarKey from local storage and immediately halts the Gateway connection. Your Discord account itself is not affected.