Presence API
Bir web sitesi entegrasyonundan Discord Rich Presence'ı güncellemek için Nowly Presence API'yi kullanın.
Bir Presence Oluşturma
Presence, Nowly runtime'ı tarafından enjekte edilen bir globaldir - onu içe aktarmanıza gerek yoktur.
Her presence bir Presence örneğiyle başlar:
const presence = new Presence()UpdateData Olayı
Etkinliği yenilemek için UpdateData kullanın:
presence.on("UpdateData", async () => {
await presence.setActivity({
details: "Watching a video",
})
})setActivity
setActivity, geçerli Discord etkinliğini gönderir. Yaygın alanlar şunlardır:
| Alan | Tür | Açıklama | Varsayılan |
|---|---|---|---|
details | string | Discord'da gösterilen birincil etkinlik satırı. | - |
state | string | details'in altında gösterilen ikincil etkinlik satırı. | - |
startTimestamp | number | Geçen etkinlik ilerlemesi için Unix zaman damgası. | - |
endTimestamp | number | Kalan etkinlik ilerlemesi için Unix zaman damgası. | - |
largeImageKey | string | Ana görsel varlık anahtarı, genellikle Assets.Logo veya Assets.Thumbnail (runtime tarafından sağlanan globaller). | - |
largeImageText | string | Büyük görsel için araç ipucu. | - |
smallImageKey | string | İsteğe bağlı küçük görsel varlık anahtarı. | - |
smallImageText | string | Küçük görsel için araç ipucu. | - |
type | number | PresenceType'dan gelen Discord etkinlik türü. | - |
buttons | array | İsteğe bağlı Discord etkinlik butonları. | - |
clearActivity
Gösterilmeye değer bir şey olmadığında clearActivity'yi çağırın:
presence.clearActivity()PresenceType
PresenceType, @nowly/sdk'den adlandırılmış bir export'tur:
import { PresenceType } from "@nowly/sdk"Discord etkinlik türlerine eşlenir: Playing, Streaming, Listening, Watching ve Competing.
getSetting
Presence.Settings'ten sonra tipli, presence başına bir ayarı okuyun. Değer, kullanıcının kaydedilmiş ayarı veya tanımdaki varsayılan değerdir:
const showButtons = await presence.getSetting<boolean>("showButtons")UpdateData, aynı haritayla birlikte ctx.settings'i de alır. Kullanıcı yan panelde ayarları değiştirdiğinde ikisi de güncellenir.
Günlükleme
Geliştirme sırasında hata ayıklama mesajları için presence.info ve presence.error kullanın.