Variables
getVar
$getVar[]
$getVar récupère des valeurs dans le stockage persistant du bot. Contrairement aux variables temporaires ($var), les variables globales et les variables d’utilisateur survivent d’une exécution de commande à l’autre et aux redémarrages du bot. Elles sont stockées dans la base de données du bot.
Syntaxe
bdfd
$getVar[name;(User ID)]
Variables globales et variables d’utilisateur
Le deuxième paramètre détermine la portée :
- Omis ou vide : la variable est traitée comme globale, accessible depuis n’importe quelle commande, n’importe quel utilisateur, n’importe quel serveur.
- ID d’utilisateur fourni : la variable est propre à l’utilisateur (la valeur est partagée par tous les serveurs pour cet utilisateur) : chaque utilisateur a sa propre valeur indépendante pour un même nom de variable. Utilisez
$authorIDpour désigner l’utilisateur actuel. Il s’agit d’un stockage différent de$getUserVar(qui lit la valeur du membre dans un serveur, sauf pour les bots qui utilisent encore l’ancien réglage des variables d’utilisateur).
Détails du stockage
- Les valeurs écrites par
$setVarsont stockées sous forme de texte. À la lecture, vous recevez exactement la chaîne qui a été stockée. - Le nom est nettoyé de ses espaces en début et en fin. Les noms sont sensibles à la casse pour les valeurs stockées :
Scoreetscoresont deux variables différentes. Un nom vide lève une erreur. - Une variable globale qui n’a jamais été définie retourne une chaîne vide, et sa lecture la crée avec une valeur vide (elle existe alors pour
$varExists). - Une variable d’utilisateur qui n’a pas de valeur pour cet utilisateur retourne la valeur par défaut déclarée pour elle (voir ci-dessous), ou une chaîne vide s’il n’y en a pas.
- La valeur par défaut d’une variable d’utilisateur est déclarée dans le catalogue des variables, ou automatiquement par la première écriture
$setVar[name;value;User ID]pour ce nom, qui utilise la valeur écrite comme valeur par défaut pour tous les utilisateurs qui n’ont pas de valeur stockée.
Comparaison avec $var
| Aspect | $var | $getVar |
|---|---|---|
| Persistance | Exécution uniquement | Persistant (stockage du bot) |
| Portée | Locale | Globale ou utilisateur |
| Cas d’usage | Calculs temporaires | Stockage à long terme |
Exemples
Lire une variable globale
$title[Global Setting]
$description[Maintenance mode: `$getVar[maintenanceMode]`]
$color[#5865F2]
Essayer
Collez un exemple dans le playground pour prévisualiser son message (les fonctions qui agissent sur Discord ne sont pas exécutées), ou construisez la même chose avec des blocs.