NOUVEAU 📢 Offre de lancement limitée : jusqu'à 70 % de remise sur votre premier mois, pour tous les jeux !Voir les offres

Comment définir des variables d’environnement et des secrets pour votre bot Discord

Hébergement de bots DiscordUpdated Oct 29, 20266 min read

Mettez les clés et les réglages de votre bot sur la page Bot, volet Environnement : ajoutez-les un par un ou collez tout votre fichier .env, cochez Garder cette valeur secrète pour les mots de passe et les clés, puis redémarrez le bot. Votre code les lit comme n’importe quelle variable d’environnement.

Pourquoi ici et pas dans un fichier

  • Les valeurs enregistrées ici sont stockées chiffrées par le panel, pas dans les fichiers de votre serveur. Elles n’apparaissent ni dans Files, ni en SFTP, ni dans les backups.
  • Une valeur secrète n’est plus jamais affichée, ni pour vous ni pour les personnes à qui vous donnez accès : la liste montre des points et ses quatre derniers caractères.
  • Vous pouvez partager votre code, ou le mettre sur GitHub, sans divulguer une clé.

Ajouter une variable

  1. Ouvrez votre serveur de bot dans le panel, puis la page Bot, volet Environnement.
  2. Sous Ajouter une variable, saisissez le Nom, par exemple OPENAI_API_KEY, et la Valeur.
  3. Garder cette valeur secrète se coche toute seule pour les noms qui ressemblent à des secrets (qui finissent par KEY, TOKEN, SECRET, PASSWORD et similaires, ou une URL de base de données). Cochez-la ou décochez-la selon vos besoins.
  4. Cliquez sur Ajouter la variable.
  5. Le volet indique Les changements s’appliquent au prochain démarrage du bot. Si le bot tourne, cliquez sur Redémarrer maintenant.

La carte des variables d’environnement avec trois variables, dont une marquée Secret et affichée sous forme de points, et le formulaire Ajouter une variable en dessous.

Coller un fichier .env entier

  1. Cliquez sur Coller un fichier .env.
  2. Collez le contenu de votre .env. Rien n’est encore envoyé : la fenêtre liste les noms trouvés, avec un badge Secret sur ceux qu’elle enregistrera comme secrets.
  3. Les noms que le panel n’accepte pas sont marqués Ignorée : le token du bot sous n’importe lequel de ses noms (DISCORD_TOKEN, TOKEN, BOT_TOKEN, DISCORD_BOT_TOKEN), GIT_TOKEN, les réglages propres au type de votre bot (ils se trouvent dans le volet Code), les noms système comme PATH, et les noms qui changent la façon dont un runtime démarre, comme PYTHONPATH, NODE_PATH ou tout ce qui commence par LD_. Une note indique où ils vont. Les lignes qu’il ne peut pas lire du tout sont listées avec leurs numéros de ligne.
  4. Cliquez sur le bouton d’import, par exemple Importer 6 variables. Les lignes ignorées ne sont pas comptées.

Les formes habituelles d’un .env fonctionnent : KEY=value, export KEY=value, les commentaires, et les valeurs entre guillemets simples 'single' ou doubles "double" (les guillemets doubles peuvent s’étendre sur plusieurs lignes). Si un nom apparaît deux fois, le dernier l’emporte.

La fenêtre Coller un fichier .env avec des lignes collées, une ligne DISCORD_TOKEN marquée Ignorée avec la note que le token se saisit dans le volet Discord, un badge Secret sur un mot de passe, et le bouton d’import.

Les lire dans votre code

LangageCode
Node.js, Bunprocess.env.OPENAI_API_KEY
Pythonos.environ["OPENAI_API_KEY"]
JavaSystem.getenv("OPENAI_API_KEY")
C#Environment.GetEnvironmentVariable("OPENAI_API_KEY")
DenoDeno.env.get("OPENAI_API_KEY")
Goos.Getenv("OPENAI_API_KEY")
Ruststd::env::var("OPENAI_API_KEY")

Votre code utilise déjà dotenv ou python-dotenv ? Il continue de fonctionner : ces bibliothèques n’écrasent pas une variable déjà définie, donc les valeurs du panel l’emportent sur un fichier .env oublié.

Modifier ou retirer une variable

  • Une valeur simple a Modifier ; un secret a Remplacer. Un secret commence vide parce que sa valeur n’est jamais renvoyée : saisissez la nouvelle valeur et cliquez sur Enregistrer.
  • Retirer demande Retirer OPENAI_API_KEY? ; confirmez avec Retirer la variable. Le bot ne l’a plus à son prochain démarrage.

Règles et limites

  • Un nom est fait de lettres, de chiffres et de tirets bas, jusqu’à 64 caractères, et ne commence pas par un chiffre.
  • Une valeur fait jusqu’à 4 KB. Un bot peut avoir jusqu’à 50 variables.
  • Les noms que le panel définit lui-même sont refusés avec ... is set by PlayNHost and cannot be changed here. : les noms du token (DISCORD_TOKEN, TOKEN, BOT_TOKEN, DISCORD_BOT_TOKEN), GIT_TOKEN, PATH, HOME, NODE_OPTIONS, les noms qui commencent par SERVER_ ou PNH_, et les réglages propres au type de votre bot comme MAIN_FILE.
  • Les noms qui changent la façon dont un runtime ou le shell démarre sont refusés sous Ajouter une variable avec ... controls how the bot starts and cannot be set here. (un .env collé les marque Ignorée), par exemple PYTHONPATH, NODE_PATH, JAVA_TOOL_OPTIONS ou tout ce qui commence par LD_, NPM_CONFIG_, PIP_ ou GIT_.

Votre token Discord arrive dans votre code sans aucune variable de votre part, sous le nom DISCORD_TOKEN et aussi sous TOKEN, BOT_TOKEN et DISCORD_BOT_TOKEN. C’est pourquoi ces noms ne peuvent pas être définis ici.

Un bot tout fait n’a pas de liste de variables à lui : ses clés sont des champs fixes de la carte Identifiants de ce volet. Une clé sans laquelle le bot ne peut pas démarrer affiche Obligatoire, et tant qu’elle n’est pas définie, la carte Configurer votre bot de l’Aperçu laisse Démarrer le bot inactif et renvoie ici avec Ouvrir l’environnement : Comment modifier les paramètres d’un bot tout fait.

À lire aussi : Comment garder le token de votre bot Discord en sécurité, Comment utiliser une base de données avec votre bot Discord.

Votre bot est hébergé ailleurs ? Transférez-le chez nous

NOS DERNIERS ARTICLES