NUOVO 📢 Offerta di lancio limitata: fino al 70% di sconto sul tuo primo mese, per tutti i giochi!Vedi i piani

Come impostare variabili d'ambiente e segreti per il tuo bot Discord

Hosting di bot DiscordUpdated Oct 29, 20266 min read

Metti le chiavi e le impostazioni del tuo bot nella pagina Bot, sezione Ambiente: aggiungile una per una o incolla tutto il tuo file .env, spunta Tieni segreto questo valore per password e chiavi, poi riavvia il bot. Il tuo codice le legge come qualsiasi variabile d'ambiente.

Perché qui e non in un file

  • I valori salvati qui vengono conservati cifrati dal pannello, non nei file del tuo server. Non compaiono in Files, via SFTP o nei backup.
  • Un valore segreto non viene mai mostrato di nuovo, né a te né a chi ricevi accesso: l'elenco mostra dei puntini e gli ultimi quattro caratteri.
  • Puoi condividere il tuo codice, o metterlo su GitHub, senza far trapelare una chiave.

Aggiungi una variabile

  1. Apri il tuo server bot nel pannello, poi la pagina Bot, sezione Ambiente.
  2. Sotto Aggiungi una variabile, scrivi il Nome, per esempio OPENAI_API_KEY, e il Valore.
  3. Tieni segreto questo valore si spunta da solo per i nomi che sembrano segreti (che finiscono con KEY, TOKEN, SECRET, PASSWORD e simili, o un URL di database). Spuntalo o toglilo come ti serve.
  4. Clicca su Aggiungi variabile.
  5. La sezione dice Le modifiche si applicano al prossimo avvio del bot. Se il bot è in esecuzione, clicca su Riavvia ora.

Il riquadro Variabili d’ambiente con tre variabili, una contrassegnata come Segreto e mostrata come puntini, e sotto il modulo Aggiungi una variabile.

Incolla un intero file .env

  1. Clicca su Incolla un file .env.
  2. Incolla il contenuto del tuo .env. Non viene ancora inviato nulla: la finestra elenca i nomi che ha trovato, con un badge Segreto su quelli che salverà come segreti.
  3. I nomi che il pannello non accetta sono contrassegnati Saltata: il token del bot con uno qualsiasi dei suoi nomi (DISCORD_TOKEN, TOKEN, BOT_TOKEN, DISCORD_BOT_TOKEN), GIT_TOKEN, le impostazioni proprie del tipo del tuo bot (stanno nella sezione Codice), i nomi di sistema come PATH e i nomi che cambiano il modo in cui parte un runtime, come PYTHONPATH, NODE_PATH o qualsiasi nome che inizia con LD_. Una nota dice dove vanno. Le righe che non riesce a leggere affatto vengono elencate con il loro numero di riga.
  4. Clicca sul pulsante di importazione, per esempio Importa 6 variabili. Le righe saltate non rientrano nel conteggio.

Funzionano le solite forme del .env: KEY=value, export KEY=value, commenti e valori tra apici singoli, come 'single', o tra apici doppi, come "double" (gli apici doppi possono estendersi su più righe). Se un nome compare due volte, vince l'ultimo.

La finestra Incolla un file .env con le righe incollate, una riga DISCORD_TOKEN contrassegnata Saltata con la nota che il token va nella sezione Discord, un badge Segreto su una password e il pulsante Importa.

Leggile nel tuo codice

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

Il tuo codice usa già dotenv o python-dotenv? Continua a funzionare: quelle librerie non sovrascrivono una variabile già impostata, quindi i valori del pannello vincono su un file .env rimasto lì.

Cambia o rimuovi una variabile

  • Un valore semplice ha Modifica; un segreto ha Sostituisci. Un segreto parte vuoto perché il suo valore non viene mai rimandato indietro: scrivi il nuovo valore e clicca su Salva.
  • Rimuovi chiede Rimuovere OPENAI_API_KEY?; conferma con Rimuovi la variabile. Il bot non l'avrà più al prossimo avvio.

Regole e limiti

  • Un nome è fatto di lettere, cifre e trattini bassi, fino a 64 caratteri, e non inizia con una cifra.
  • Un valore arriva fino a 4 KB. Un bot può avere fino a 50 variabili.
  • I nomi che il pannello imposta da solo vengono rifiutati con ... is set by PlayNHost and cannot be changed here.: i nomi del token (DISCORD_TOKEN, TOKEN, BOT_TOKEN, DISCORD_BOT_TOKEN), GIT_TOKEN, PATH, HOME, NODE_OPTIONS, i nomi che iniziano con SERVER_ o PNH_ e le impostazioni proprie del tipo del tuo bot come MAIN_FILE.
  • I nomi che cambiano il modo in cui parte un runtime o la shell vengono rifiutati sotto Aggiungi una variabile con ... controls how the bot starts and cannot be set here. (un .env incollato li contrassegna Saltata), per esempio PYTHONPATH, NODE_PATH, JAVA_TOOL_OPTIONS o qualsiasi nome che inizia con LD_, NPM_CONFIG_, PIP_ o GIT_.

Il tuo token Discord arriva al tuo codice senza nessuna variabile da parte tua, come DISCORD_TOKEN e anche come TOKEN, BOT_TOKEN e DISCORD_BOT_TOKEN. Per questo quei nomi non si possono impostare qui.

Un bot già pronto non ha un elenco di variabili proprie: le sue chiavi sono campi fissi nel riquadro Credenziali di questa sezione. Una chiave senza cui il bot non può partire mostra Obbligatorio, e finché non è impostata il riquadro Configura il tuo bot nella Panoramica tiene spento Avvia il bot e porta qui con Apri Ambiente: Come cambiare le impostazioni di un bot già pronto.

Vedi anche: Come tenere al sicuro il token del tuo bot Discord, Come usare un database con il tuo bot Discord.

Il tuo bot è già ospitato altrove? Spostalo da noi

ULTIMI ARTICOLI