Ustawienia
Dodaj typowane ustawienia dla poszczególnych obecności z kontrolkami boolean, input, select i slider.
Czym są ustawienia
Ustawienia pozwalają użytkownikom dostosować działanie obecności bez edytowania kodu.
Obsługiwane typy ustawień
Nowly obsługuje ustawienia typu boolean, input, select i slider.
| Pole | Typ | Opis | Domyślny |
|---|---|---|---|
boolean | boolean | Przełącznik dla opcji włączonych/wyłączonych. | - |
input | string | Dowolna wartość tekstowa. | - |
select | string | Jedna wartość wybrana spośród predefiniowanych opcji. | - |
slider | number | Wartość liczbowa z opcjonalnym min, max i krokiem. | - |
Definiowanie ustawień
Użyj Presence.Settings, aby zdefiniować typowane ustawienia:
Od CLI 1.7.0 zalecany jest plik settings.ts z eksportem domyślnym obok presence.ts. Całkowicie zastępuje on starsze definicje inline Presence.Settings({ ... }), bez łączenia źródeł. Nieprawidłowy plik przerywa kompilację. Bez niego format legacy nadal jest obsługiwany.
import type { PresenceSetting } from "@nowly/sdk"
export default {
showButtons: {
type: "boolean",
default: true,
label: {
"en-US": "Show buttons"
}
}
} satisfies Record<string, PresenceSetting>const presence = new Presence()CLI automatycznie wykrywa settings.ts. W presence.ts nie potrzeba importu ani wywołania Presence.Settings. Nadal generuje settings.json i rejestruje wartości domyślne. Wartości zapisane przez użytkownika mają pierwszeństwo. Używaj deklaratywnych definicji zgodnych z JSON, bez API przeglądarki lub Node. Dla jawnego typu użyj getSetting<boolean>("showButtons").
Odczytywanie ustawień
Użyj getSetting w czasie wykonywania. Wartości pochodzą z zapisanych ustawień użytkownika, z powrotem do wartości domyślnych z Presence.Settings. Zmiany na żywo z panelu bocznego docierają jako SETTINGS_UPDATED i aktualizują tę samą mapę.
Możesz też odczytać bieżącą mapę z ctx.settings w UpdateData:
presence.on("UpdateData", async (ctx) => {
const showButtons = await presence.getSetting<boolean>("showButtons")
// ta sama wartość: ctx.settings.showButtons
})Zlokalizowane etykiety
Etykiety i opisy ustawień używają tych samych kluczy locale, co metadane.
Wartości domyślne
Wybieraj bezpieczne wartości domyślne. Obecność powinna działać od razu po instalacji, bez konieczności konfiguracji.