Paramètres
Ajoutez des paramètres typés par présence avec des contrôles booléens, de saisie, de sélection et de curseur.
Que sont les paramètres
Les paramètres permettent aux utilisateurs de personnaliser le comportement d'une présence sans modifier le code.
Types de paramètres pris en charge
Nowly prend en charge les paramètres booléens, de saisie, de sélection et de curseur.
| Champ | Type | Description | Par défaut |
|---|---|---|---|
boolean | boolean | Interrupteur pour les options activées/désactivées. | - |
input | string | Valeur textuelle libre. | - |
select | string | Une valeur sélectionnée parmi des options prédéfinies. | - |
slider | number | Valeur numérique avec minimum, maximum et pas facultatifs. | - |
Définir des paramètres
Définissez les paramètres séparément du script de présence :
À partir du CLI 1.7.0, préférez un fichier settings.ts avec un export par défaut, à côté de presence.ts. Il remplace entièrement les définitions inline legacy Presence.Settings({ ... }), sans fusion. Un fichier invalide fait échouer le build. En son absence, le format legacy reste pris en charge.
import type { PresenceSetting } from "@nowly/sdk"
export default {
showButtons: {
type: "boolean",
default: true,
label: {
"en-US": "Afficher les boutons"
}
}
} satisfies Record<string, PresenceSetting>const presence = new Presence()Le CLI détecte automatiquement settings.ts : aucun import ni appel à Presence.Settings n’est nécessaire dans presence.ts. Il produit toujours settings.json et enregistre les valeurs par défaut. Les valeurs enregistrées par l’utilisateur restent prioritaires. Gardez le fichier déclaratif et compatible JSON, sans API du navigateur ou de Node. Utilisez getSetting<boolean>("showButtons") pour une lecture explicitement typée.
Lire les paramètres
Utilisez getSetting au moment de l'exécution. Les valeurs viennent des réglages enregistrés de l'utilisateur, avec repli sur les valeurs par défaut de Presence.Settings. Les changements depuis le panneau latéral arrivent via SETTINGS_UPDATED et mettent à jour la même correspondance.
Vous pouvez aussi lire ctx.settings dans UpdateData :
presence.on("UpdateData", async (ctx) => {
const showButtons = await presence.getSetting<boolean>("showButtons")
// même valeur : ctx.settings.showButtons
})Étiquettes localisées
Les étiquettes et descriptions des paramètres utilisent les mêmes clés de langue que les métadonnées.
Valeurs par défaut
Choisissez des valeurs par défaut sûres. Une présence devrait fonctionner immédiatement après l'installation, sans configuration.