Presence API
Use a Presence API do Nowly para atualizar o Discord Rich Presence a partir de uma integração de site.
Criando uma Presença
Presence é uma global injetada pelo runtime do Nowly - você não precisa importá-la.
Toda presença começa com uma instância de Presence:
const presence = new Presence()Evento UpdateData
Use UpdateData para atualizar a atividade:
presence.on("UpdateData", async () => {
await presence.setActivity({
details: "Watching a video",
})
})setActivity
setActivity envia a atividade atual do Discord. Os campos comuns incluem:
| Campo | Tipo | Descrição | Padrão |
|---|---|---|---|
details | string | Linha principal da atividade exibida no Discord. | - |
state | string | Linha secundária da atividade exibida abaixo de details. | - |
startTimestamp | number | Timestamp Unix para o progresso decorrido da atividade. | - |
endTimestamp | number | Timestamp Unix para o progresso restante da atividade. | - |
largeImageKey | string | Chave do recurso de imagem principal, geralmente Assets.Logo ou Assets.Thumbnail (globais fornecidos pelo runtime). | - |
largeImageText | string | Dica exibida ao passar o mouse sobre a imagem grande. | - |
smallImageKey | string | Chave opcional do recurso de imagem pequena. | - |
smallImageText | string | Dica exibida ao passar o mouse sobre a imagem pequena. | - |
type | number | Tipo de atividade do Discord, vindo de PresenceType. | - |
buttons | array | Botões opcionais da atividade do Discord. | - |
clearActivity
Chame clearActivity quando não houver nada que valha a pena exibir:
presence.clearActivity()PresenceType
PresenceType é uma exportação nomeada de @nowly/sdk:
import { PresenceType } from "@nowly/sdk"Ele mapeia para os tipos de atividade do Discord: Playing, Streaming, Listening, Watching e Competing.
getSetting
Leia uma configuração tipada por presença após Presence.Settings. O valor é a configuração salva do usuário ou o padrão da definição:
const showButtons = await presence.getSetting<boolean>("showButtons")UpdateData também recebe ctx.settings com o mesmo mapa. Ambos são atualizados quando o usuário altera as configurações no painel lateral.
Registro (Logging)
Use presence.info e presence.error para mensagens de depuração durante o desenvolvimento.