Command Palette

Search for a command to run...

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 :

ChampTypeDescriptionPar défaut
detailsstringLigne d'activité principale affichée dans Discord.-
statestringLigne d'activité secondaire affichée sous les détails.-
startTimestampnumberHorodatage Unix pour la progression de l'activité écoulée.-
endTimestampnumberHorodatage Unix pour la progression de l'activité restante.-
largeImageKeystringClé d'image principale, généralement Assets.Logo ou Assets.Thumbnail (globales fournies par le runtime).-
largeImageTextstringInfobulle de la grande image.-
smallImageKeystringClé d'image petite facultative.-
smallImageTextstringInfobulle de la petite image.-
typenumberType d'activité Discord depuis PresenceType.-
buttonsarrayBoutons 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.