Presence API
Usa la API de Presence de Nowly para actualizar Discord Rich Presence desde una integración web.
Crear una presencia
Presence es un global inyectado por el runtime de Nowly - no necesitas importarlo.
Toda presencia empieza con una instancia de Presence:
const presence = new Presence()Evento UpdateData
Usa UpdateData para actualizar la actividad:
presence.on("UpdateData", async () => {
await presence.setActivity({
details: "Viendo un video",
})
})setActivity
setActivity envía la actividad actual de Discord. Los campos comunes incluyen:
| Campo | Tipo | Descripción | Predeterminado |
|---|---|---|---|
details | string | Línea de actividad principal mostrada en Discord. | - |
state | string | Línea de actividad secundaria mostrada debajo de details. | - |
startTimestamp | number | Marca de tiempo Unix para el progreso de actividad transcurrido. | - |
endTimestamp | number | Marca de tiempo Unix para el progreso de actividad restante. | - |
largeImageKey | string | Clave de imagen principal, normalmente Assets.Logo o Assets.Thumbnail (globales que proporciona el runtime). | - |
largeImageText | string | Descripción emergente de la imagen grande. | - |
smallImageKey | string | Clave de imagen pequeña opcional. | - |
smallImageText | string | Descripción emergente de la imagen pequeña. | - |
type | number | Tipo de actividad de Discord desde PresenceType. | - |
buttons | array | Botones de actividad de Discord opcionales. | - |
clearActivity
Llama a clearActivity cuando no haya nada que mostrar:
presence.clearActivity()PresenceType
PresenceType es una exportación con nombre de @nowly/sdk:
import { PresenceType } from "@nowly/sdk"Se corresponde con los tipos de actividad de Discord: Playing, Streaming, Listening, Watching y Competing.
getSetting
Lee un ajuste tipado después de Presence.Settings. El valor es el ajuste guardado del usuario, o el valor por defecto de la definición:
const showButtons = await presence.getSetting<boolean>("showButtons")UpdateData también recibe ctx.settings con el mismo mapa. Ambos se actualizan cuando el usuario cambia ajustes en el panel.
Registro
Usa presence.info y presence.error para mensajes de depuración durante el desarrollo.