Presence API
Gunakan Presence API Nowly untuk mengemas kini Discord Rich Presence daripada integrasi laman web.
Mencipta Presence
Presence ialah global yang disuntik oleh runtime Nowly - anda tidak perlu mengimportnya.
Setiap presence bermula dengan satu instance Presence:
const presence = new Presence()Acara UpdateData
Gunakan UpdateData untuk menyegarkan aktiviti:
presence.on("UpdateData", async () => {
await presence.setActivity({
details: "Watching a video",
})
})setActivity
setActivity menghantar aktiviti Discord semasa. Medan biasa termasuk:
| Medan | Jenis | Penerangan | Lalai |
|---|---|---|---|
details | string | Baris aktiviti utama yang dipaparkan dalam Discord. | - |
state | string | Baris aktiviti kedua dipaparkan di bawah details. | - |
startTimestamp | number | Cap masa Unix untuk kemajuan aktiviti yang telah berlalu. | - |
endTimestamp | number | Cap masa Unix untuk kemajuan aktiviti yang berbaki. | - |
largeImageKey | string | Kunci aset imej utama, biasanya Assets.Logo atau Assets.Thumbnail (global disediakan oleh runtime). | - |
largeImageText | string | Petunjuk untuk imej besar. | - |
smallImageKey | string | Kunci aset imej kecil pilihan. | - |
smallImageText | string | Petunjuk untuk imej kecil. | - |
type | number | Jenis aktiviti Discord daripada PresenceType. | - |
buttons | array | Butang aktiviti Discord pilihan. | - |
clearActivity
Panggil clearActivity apabila tiada apa yang berbaloi untuk dipaparkan:
presence.clearActivity()PresenceType
PresenceType ialah eksport bernama daripada @nowly/sdk:
import { PresenceType } from "@nowly/sdk"Ia memetakan kepada jenis aktiviti Discord: Playing, Streaming, Listening, Watching, dan Competing.
getSetting
Baca tetapan bertaip bagi setiap presence selepas Presence.Settings. Nilai ialah tetapan tersimpan pengguna, atau lalai definisi:
const showButtons = await presence.getSetting<boolean>("showButtons")UpdateData turut menerima ctx.settings dengan peta yang sama. Kedua-duanya dikemas kini apabila pengguna menukar tetapan dalam panel sisi.
Pengelogan
Gunakan presence.info dan presence.error untuk mesej penyahpepijatan semasa pembangunan.