Command Palette

Search for a command to run...

Presence API

웹사이트 연동에서 Discord Rich Presence를 업데이트하려면 Nowly Presence API를 사용하세요.

프레즌스 생성하기

Presence는 Nowly 런타임에서 주입하는 전역 객체이므로 가져올 필요가 없습니다.

모든 프레즌스는 Presence 인스턴스로 시작합니다.

const presence = new Presence()

UpdateData 이벤트

활동을 새로 고치려면 UpdateData를 사용하세요.

presence.on("UpdateData", async () => {
  await presence.setActivity({
    details: "Watching a video",
  })
})

setActivity

setActivity는 현재 Discord 활동을 전송합니다. 일반적인 필드는 다음과 같습니다.

필드유형설명기본값
detailsstringDiscord에 표시되는 주요 활동 줄.-
statestringdetails 아래에 표시되는 보조 활동 줄.-
startTimestampnumber경과된 활동 진행 상황을 나타내는 Unix 타임스탬프.-
endTimestampnumber남은 활동 진행 상황을 나타내는 Unix 타임스탬프.-
largeImageKeystring주 이미지 에셋 키, 일반적으로 Assets.Logo 또는 Assets.Thumbnail(런타임이 제공하는 전역 변수).-
largeImageTextstring큰 이미지의 툴팁.-
smallImageKeystring선택적인 작은 이미지 에셋 키.-
smallImageTextstring작은 이미지의 툴팁.-
typenumberPresenceType에서 가져온 Discord 활동 유형.-
buttonsarray선택적인 Discord 활동 버튼.-

clearActivity

표시할 만한 것이 없을 때는 clearActivity를 호출하세요.

presence.clearActivity()

PresenceType

PresenceType@nowly/sdk의 이름 있는 내보내기입니다.

import { PresenceType } from "@nowly/sdk"

이는 Playing, Streaming, Listening, Watching, Competing과 같은 Discord 활동 유형에 매핑됩니다.

getSetting

Presence.Settings 이후 타입이 지정된 프레즌스별 설정을 읽습니다. 값은 사용자가 저장한 설정이거나 정의의 기본값입니다.

const showButtons = await presence.getSetting<boolean>("showButtons")

UpdateData도 동일한 맵을 가진 ctx.settings를 받습니다. 사용자가 사이드 패널에서 설정을 변경하면 둘 다 업데이트됩니다.

로깅

개발 중 디버그 메시지에는 presence.infopresence.error를 사용하세요.