Tworzenie pierwszej obecności
Utwórz nową obecność Nowly za pomocą CLI i wyślij swoją pierwszą aktywność Discord Rich Presence.
Zacznij od CLI
Użyj CLI Nowly, aby utworzyć szkielet nowej obecności:
nowly init "Example"CLI tworzy metadane, skrypt obecności oraz wymagane zasoby.
Podstawowy kod obecności
Presence i Assets są dostarczane przez środowisko uruchomieniowe - zobacz Presence API i Assets.
document to standardowe API DOM przeglądarki, dostępne, ponieważ obecności działają jako content scripty w rozszerzeniu.
Tylko PresenceType (oraz inne funkcje pomocnicze, jak createMediaTimestamps) trzeba zaimportować z @nowly/sdk.
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,
})
})Przebieg działania w czasie rzeczywistym
Gdy użytkownik odwiedza pasujący adres URL, Nowly wczytuje Twoją obecność. Obecność odczytuje stan strony i wywołuje setActivity. Rozszerzenie przekazuje ten ładunek do Nowly Host, który aktualizuje Discorda.
Cykl programowania
Utwórz szkielet
Generuje folder obecności, metadane i wymagane zasoby.
nowly init "Example"Utwórz szkielet
Generuje folder obecności, metadane i wymagane zasoby.
nowly init "Example"Skonfiguruj
Ustaw nazwę, autora, obsługiwane adresy URL, kategorię, kolor, zlokalizowane opisy i discordNative, gdy Discord już obsługuje daną platformę.
Edytuj metadata.json - zobacz Metadata, aby poznać wszystkie dostępne pola.
Skonfiguruj
Ustaw nazwę, autora, obsługiwane adresy URL, kategorię, kolor, zlokalizowane opisy i discordNative, gdy Discord już obsługuje daną platformę.
Edytuj metadata.json - zobacz Metadata, aby poznać wszystkie dostępne pola.
Zaimplementuj
Napisz logikę obecności za pomocą Presence SDK.
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,
})
})Zaimplementuj
Napisz logikę obecności za pomocą Presence SDK.
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,
})
})Zwaliduj
Sprawdza, czy struktura metadanych jest poprawna i czy zasoby są na miejscu.
nowly validateZwaliduj
Sprawdza, czy struktura metadanych jest poprawna i czy zasoby są na miejscu.
nowly validateZbuduj
Kompiluje obecność do samodzielnego pakietu.
nowly build exampleZbuduj
Kompiluje obecność do samodzielnego pakietu.
nowly build exampleWczytaj
Zainstaluj zbudowaną obecność w przeglądarce. Dwie metody: gotowe rozszerzenie lub przeciągnięcie pliku zip.
Zobacz Wczytywanie i testowanie lokalne, aby poznać pełne porównanie.
Za pierwszym razem (bez Nowly w przeglądarce): wbuduj obecność w gotowe rozszerzenie.
nowly extension exampleWczytaj dist/extension-dev jako rozpakowane rozszerzenie w chrome://extensions.
Masz już wczytane rozpakowane Nowly: spakuj plik zip i upuść go w Ustawienia → Zaawansowane → Debugowanie. Instalacje ze sklepu odrzucają niepodpisane pliki zip.
nowly pack exampleWczytaj
Zainstaluj zbudowaną obecność w przeglądarce. Dwie metody: gotowe rozszerzenie lub przeciągnięcie pliku zip.
Zobacz Wczytywanie i testowanie lokalne, aby poznać pełne porównanie.
Za pierwszym razem (bez Nowly w przeglądarce): wbuduj obecność w gotowe rozszerzenie.
nowly extension exampleWczytaj dist/extension-dev jako rozpakowane rozszerzenie w chrome://extensions.
Masz już wczytane rozpakowane Nowly: spakuj plik zip i upuść go w Ustawienia → Zaawansowane → Debugowanie. Instalacje ze sklepu odrzucają niepodpisane pliki zip.
nowly pack examplePrzetestuj
Otwórz docelową stronę - obecność aktywuje się automatycznie.
Odwiedź stronę
Przetestuj
Otwórz docelową stronę - obecność aktywuje się automatycznie.
Odwiedź stronę
Powtarzaj Zaimplementuj → Zbuduj → Wczytaj po każdej zmianie kodu.