Command Palette

Search for a command to run...

İlk Presence'ınızı Oluşturma

CLI ile yeni bir Nowly presence'ı oluşturun ve ilk Discord Rich Presence etkinliğinizi gönderin.

CLI ile Başlayın

Yeni bir presence iskeletlemek için Nowly CLI'yi kullanın:

nowly init "Example"

CLI 1.7.0+ meta verileri, betiği, settings.ts dosyasını, çevirileri ve varlık klasörünü oluşturur. Seçenekleri otomatik algılanan settings.ts dosyasının varsayılan dışa aktarımında tanımlayın; Ayarlar sayfasına bakın. Satır içi tanımlar eski biçim olarak desteklenmeye devam eder.

Temel Presence Kodu

Presence ve Assets, runtime tarafından sağlanır - bkz. Presence API ve Assets. document, standart tarayıcı DOM API'sidir ve presence'lar uzantıda content script olarak çalıştığı için kullanılabilir.

@nowly/sdk'den yalnızca PresenceType (ve createMediaTimestamps gibi diğer yardımcılar) içe aktarılmalıdır.

import { PresenceType } from "@nowly/sdk"

const presence = new Presence()

presence.on("UpdateData", async () => {
  await presence.setActivity({
    details: document.title,
    state: document.location.hostname,
    largeImageKey: Assets.Logo,
    type: PresenceType.Watching,
  })
})

Çalışma Zamanı Akışı

Kullanıcı eşleşen bir URL'yi ziyaret ettiğinde Nowly presence'ınızı yükler. Presence, sayfa durumunu okur ve setActivity'yi çağırır. Uzantı, bu yükü Discord'u güncelleyen Nowly Host'a iletir.

Geliştirme Döngüsü

1

İskeletleme

Presence klasörünü, meta verileri ve gerekli varlıkları oluşturur.

nowly init "Example"
2

Yapılandırma

Adı, yazarı, desteklenen URL'leri, kategoriyi, rengi, yerelleştirilmiş açıklamaları ve Discord platformu zaten destekliyorsa discordNative'i ayarlayın.

metadata.json dosyasını düzenleyin - mevcut tüm alanlar için bkz. Metadata.

3

Uygulama

Presence SDK'sını kullanarak presence mantığını yazın.

import { PresenceType } from "@nowly/sdk"

const presence = new Presence()

presence.on("UpdateData", async () => {
  await presence.setActivity({
    details: document.title,
    largeImageKey: Assets.Logo,
    type: PresenceType.Watching,
  })
})
4

Doğrulama

Meta veri yapınızın doğru olduğunu ve varlıkların yerinde olduğunu kontrol edin.

nowly validate
5

Derleme

Presence'ı bağımsız bir pakete derler.

nowly build example
6

Yükleme

Derlenen presence'ı tarayıcıya kurun. İki yöntem: önceden derlenmiş bir uzantı veya bir zip bırakma.

Tam karşılaştırma için bkz. Yerel Olarak Yükleme ve Test Etme.

İlk kez (tarayıcıda Nowly yok): presence'ı hazır bir uzantıya gömün.

nowly extension example             # Chrome (varsayılan)
nowly extension example --firefox

Chrome için dist/extension-dev klasörünü chrome://extensions adresinde paketlenmemiş olarak yükleyin. Firefox için about:debugging#/runtime/this-firefox adresini açın ve Load Temporary Add-on ile dist/extension-dev-firefox/manifest.json dosyasını yükleyin.

Nowly zaten paketlenmemiş olarak yüklüyse: bir zip paketleyin ve Ayarlar → Gelişmiş → Hata Ayıklama'ya bırakın. Mağaza kurulumları imzasız zip'leri reddeder.

nowly pack example
7

Test Etme

Hedef web sitesini açın - presence otomatik olarak etkinleşir.

Siteyi ziyaret edin

Her kod değişikliğinden sonra Uygulama → Derleme → Yükleme adımlarını tekrarlayın.