Presence API
Utilisez l'API Presence de Nowly pour mettre à jour Discord Rich Presence depuis une intégration web.
Créer une présence
Presence est une globale injectée par le runtime Nowly - vous n'avez pas besoin de l'importer.
Chaque présence commence par une instance de Presence :
const presence = new Presence()Événement UpdateData
Utilisez UpdateData pour actualiser l'activité :
presence.on("UpdateData", async () => {
await presence.setActivity({
details: "Regarde une vidéo",
})
})setActivity
setActivity envoie l'activité Discord actuelle. Les champs courants incluent :
| Champ | Type | Description | Par défaut |
|---|---|---|---|
details | string | Ligne d'activité principale affichée dans Discord. | - |
state | string | Ligne d'activité secondaire affichée sous les détails. | - |
startTimestamp | number | Horodatage Unix pour la progression de l'activité écoulée. | - |
endTimestamp | number | Horodatage Unix pour la progression de l'activité restante. | - |
largeImageKey | string | Clé d'image principale, généralement Assets.Logo ou Assets.Thumbnail (globales fournies par le runtime). | - |
largeImageText | string | Infobulle de la grande image. | - |
smallImageKey | string | Clé d'image petite facultative. | - |
smallImageText | string | Infobulle de la petite image. | - |
type | number | Type d'activité Discord depuis PresenceType. | - |
buttons | array | Boutons d'activité Discord facultatifs. | - |
clearActivity
Appelez clearActivity lorsqu'il n'y a plus rien à afficher :
presence.clearActivity()PresenceType
PresenceType est un export nommé de @nowly/sdk :
import { PresenceType } from "@nowly/sdk"Il correspond aux types d'activité Discord : Playing, Streaming, Listening, Watching et Competing.
getSetting
Lisez un paramètre typé après Presence.Settings. La valeur est le réglage enregistré de l'utilisateur, ou la valeur par défaut de la définition :
const showButtons = await presence.getSetting<boolean>("showButtons")UpdateData reçoit aussi ctx.settings avec la même correspondance. Les deux se mettent à jour lorsque l'utilisateur change les réglages dans le panneau.
Journalisation
Utilisez presence.info et presence.error pour les messages de débogage pendant le développement.