NIEUW 📢 Beperkte lanceeractie: tot 70% korting op je eerste maand, voor elke game!Bekijk pakketten

Omgevingsvariabelen en geheimen instellen voor je Discord-bot

Discord-bothostingUpdated Oct 29, 20265 min read

Zet de sleutels en instellingen van je bot op de pagina Bot, deel Omgeving: voeg ze een voor een toe of plak je hele .env-bestand, vink Houd deze waarde geheim aan voor wachtwoorden en sleutels en herstart dan de bot. Je code leest ze als elke andere omgevingsvariabele.

Waarom hier en niet in een bestand

  • Waarden die je hier opslaat, bewaart het panel versleuteld, niet in de bestanden van je server. Ze verschijnen niet in Files, niet via SFTP en niet in backups.
  • Een geheime waarde wordt nooit meer getoond, niet aan jou en niet aan wie je toegang geeft: de lijst toont stippen en de laatste vier tekens.
  • Je kunt je code delen, of op GitHub zetten, zonder een sleutel te lekken.

Een variabele toevoegen

  1. Open je botserver in het panel, dan de pagina Bot, deel Omgeving.
  2. Typ onder Een variabele toevoegen de Naam, bijvoorbeeld OPENAI_API_KEY, en de Waarde.
  3. Houd deze waarde geheim vinkt zichzelf aan bij namen die op geheimen lijken (eindigend op KEY, TOKEN, SECRET, PASSWORD en dergelijke, of een database-URL). Vink het aan of uit zoals je wilt.
  4. Klik op Variabele toevoegen.
  5. Het deel zegt Wijzigingen gelden de volgende keer dat de bot start. Draait de bot, klik dan op Nu herstarten.

De kaart Omgevingsvariabelen met drie variabelen, waarvan een gemarkeerd als Geheim en getoond als stippen, en het formulier Een variabele toevoegen eronder.

Een heel .env-bestand plakken

  1. Klik op Een .env-bestand plakken.
  2. Plak de inhoud van je .env. Er wordt nog niets verstuurd: het venster toont de namen die het vond, met een badge Geheim bij de namen die het als geheim opslaat.
  3. Namen die het panel niet aanneemt, zijn gemarkeerd met Overgeslagen: het bottoken onder elke naam (DISCORD_TOKEN, TOKEN, BOT_TOKEN, DISCORD_BOT_TOKEN), GIT_TOKEN, de eigen instellingen van je bottype (die staan in het deel Code), systeemnamen zoals PATH en namen die veranderen hoe een runtime start, zoals PYTHONPATH, NODE_PATH of alles wat met LD_ begint. Een opmerking zegt waar ze thuishoren. Regels die het helemaal niet kan lezen, staan in een lijst met hun regelnummers.
  4. Klik op de importknop, bijvoorbeeld 6 variabelen importeren. Overgeslagen regels tellen niet mee.

De gebruikelijke vormen van .env werken: KEY=value, export KEY=value, opmerkingen en waarden tussen 'single'- of "double"-aanhalingstekens (dubbele aanhalingstekens mogen meerdere regels beslaan). Komt een naam twee keer voor, dan wint de laatste.

Het venster Een .env-bestand plakken met geplakte regels, een regel DISCORD_TOKEN gemarkeerd als Overgeslagen met de opmerking dat het token in het deel Discord hoort, een badge Geheim bij een wachtwoord en de importknop.

Lees ze in je code

TaalCode
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")

Gebruikt je code al dotenv of python-dotenv? Dat blijft werken: die libraries overschrijven geen variabele die al is ingesteld, dus de waarden van het panel winnen het van een overgebleven .env-bestand.

Een variabele wijzigen of verwijderen

  • Een gewone waarde heeft Bewerken; een geheim heeft Vervangen. Een geheim begint leeg, omdat zijn waarde nooit wordt teruggestuurd: typ de nieuwe waarde en klik op Opslaan.
  • Verwijderen vraagt OPENAI_API_KEY verwijderen?; bevestig met Variabele verwijderen. De bot heeft hem bij de volgende start niet meer.

Regels en limieten

  • Een naam bestaat uit letters, cijfers en underscores, maximaal 64 tekens, en begint niet met een cijfer.
  • Een waarde is maximaal 4 KB. Een bot kan maximaal 50 variabelen hebben.
  • Namen die het panel zelf instelt, worden geweigerd met ... is set by PlayNHost and cannot be changed here.: de tokennamen (DISCORD_TOKEN, TOKEN, BOT_TOKEN, DISCORD_BOT_TOKEN), GIT_TOKEN, PATH, HOME, NODE_OPTIONS, namen die met SERVER_ of PNH_ beginnen, en de eigen instellingen van je bottype, zoals MAIN_FILE.
  • Namen die veranderen hoe een runtime of de shell start, worden onder Een variabele toevoegen geweigerd met ... controls how the bot starts and cannot be set here. (een geplakte .env markeert ze als Overgeslagen), bijvoorbeeld PYTHONPATH, NODE_PATH, JAVA_TOOL_OPTIONS of alles wat begint met LD_, NPM_CONFIG_, PIP_ of GIT_.

Je Discord-token bereikt je code zonder dat jij een variabele instelt, als DISCORD_TOKEN en ook als TOKEN, BOT_TOKEN en DISCORD_BOT_TOKEN. Daarom kun je die namen hier niet instellen.

Een kant-en-klare bot heeft geen eigen lijst met variabelen: zijn sleutels zijn vaste velden op de kaart Inloggegevens van dit deel. Een sleutel waarzonder de bot niet kan starten, toont Verplicht, en zolang die niet is ingesteld houdt de kaart Je bot instellen op Overzicht Bot starten uit en linkt hierheen met Omgeving openen: De instellingen van een kant-en-klare bot wijzigen.

Gerelateerd: Je Discord-bottoken veilig houden, Een database gebruiken met je Discord-bot.

Draait je bot al ergens anders? Verhuis hem naar ons

ONZE NIEUWSTE BLOGS