Presence API
Χρησιμοποίησε το Nowly Presence API για να ενημερώνεις το Discord Rich Presence από μια ενσωμάτωση ιστότοπου.
Δημιουργία ενός Presence
Το Presence είναι ένα global αντικείμενο που εισάγεται από το runtime του Nowly - δεν χρειάζεται να το εισαγάγεις.
Κάθε presence ξεκινά με ένα instance Presence:
const presence = new Presence()Συμβάν UpdateData
Χρησιμοποίησε το UpdateData για να ανανεώσεις τη δραστηριότητα:
presence.on("UpdateData", async () => {
await presence.setActivity({
details: "Watching a video",
})
})setActivity
Το setActivity στέλνει την τρέχουσα δραστηριότητα Discord. Συνήθη πεδία περιλαμβάνουν:
| Πεδίο | Τύπος | Περιγραφή | Προεπιλογή |
|---|---|---|---|
details | string | Κύρια γραμμή δραστηριότητας που εμφανίζεται στο Discord. | - |
state | string | Δευτερεύουσα γραμμή δραστηριότητας που εμφανίζεται κάτω από το details. | - |
startTimestamp | number | Unix timestamp για την παρελθούσα πρόοδο της δραστηριότητας. | - |
endTimestamp | number | Unix timestamp για την υπολειπόμενη πρόοδο της δραστηριότητας. | - |
largeImageKey | string | Κλειδί κύριου asset εικόνας, συνήθως Assets.Logo ή Assets.Thumbnail (globals που παρέχονται από το runtime). | - |
largeImageText | string | Tooltip για τη μεγάλη εικόνα. | - |
smallImageKey | string | Προαιρετικό κλειδί μικρού asset εικόνας. | - |
smallImageText | string | Tooltip για τη μικρή εικόνα. | - |
type | number | Τύπος δραστηριότητας Discord από το PresenceType. | - |
buttons | array | Προαιρετικά κουμπιά δραστηριότητας Discord. | - |
clearActivity
Κάλεσε το clearActivity όταν δεν υπάρχει κάτι άξιο να εμφανιστεί:
presence.clearActivity()PresenceType
Το PresenceType είναι ένα ονομαστικό export από το @nowly/sdk:
import { PresenceType } from "@nowly/sdk"Αντιστοιχεί σε τύπους δραστηριότητας Discord: Playing, Streaming, Listening, Watching, και Competing.
getSetting
Διάβασε μια ρύθμιση τύπου ανά presence μετά το Presence.Settings. Η τιμή είναι η αποθηκευμένη ρύθμιση του χρήστη, ή η προεπιλογή του ορισμού:
const showButtons = await presence.getSetting<boolean>("showButtons")Το UpdateData λαμβάνει επίσης το ctx.settings με τον ίδιο χάρτη. Και τα δύο ενημερώνονται όταν ο χρήστης αλλάζει ρυθμίσεις στο πλαϊνό πλαίσιο.
Καταγραφή (Logging)
Χρησιμοποίησε τα presence.info και presence.error για μηνύματα εντοπισμού σφαλμάτων κατά την ανάπτυξη.