Command Palette

Search for a command to run...

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:

CampoTipoDescriçãoPadrão
detailsstringLinha principal da atividade exibida no Discord.-
statestringLinha secundária da atividade exibida abaixo de details.-
startTimestampnumberTimestamp Unix para o progresso decorrido da atividade.-
endTimestampnumberTimestamp Unix para o progresso restante da atividade.-
largeImageKeystringChave do recurso de imagem principal, geralmente Assets.Logo ou Assets.Thumbnail (globais fornecidos pelo runtime).-
largeImageTextstringDica exibida ao passar o mouse sobre a imagem grande.-
smallImageKeystringChave opcional do recurso de imagem pequena.-
smallImageTextstringDica exibida ao passar o mouse sobre a imagem pequena.-
typenumberTipo de atividade do Discord, vindo de PresenceType.-
buttonsarrayBotõ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.