NOWOŚĆ 📢 Ograniczona oferta na start: do 70% zniżki na pierwszy miesiąc, na każdą grę!Zobacz plany

Jak ustawić zmienne środowiskowe i sekrety dla bota Discord

Hosting botów DiscordUpdated Oct 29, 20265 min read

Umieść klucze i ustawienia swojego bota na stronie Bot, w sekcji Środowisko: dodawaj je pojedynczo albo wklej cały plik .env, zaznacz Zachowaj tę wartość w tajemnicy przy hasłach i kluczach, a potem zrestartuj bota. Twój kod czyta je jak każdą zmienną środowiskową.

Dlaczego tutaj, a nie w pliku

  • Wartości zapisane tutaj panel przechowuje w postaci zaszyfrowanej, a nie w plikach twojego serwera. Nie pokazują się w Files, przez SFTP ani w backupach.
  • Wartość sekretu nigdy nie jest pokazywana ponownie, ani tobie, ani nikomu, komu dasz dostęp: lista pokazuje kropki i jej ostatnie cztery znaki.
  • Możesz udostępnić swój kod albo wrzucić go na GitHub bez wycieku klucza.

Dodaj jedną zmienną

  1. Otwórz swój serwer bota w panelu, potem stronę Bot, sekcję Środowisko.
  2. Pod Dodaj zmienną wpisz Nazwa, na przykład OPENAI_API_KEY, i Wartość.
  3. Zachowaj tę wartość w tajemnicy zaznacza się samo przy nazwach, które wyglądają na sekrety (kończących się na KEY, TOKEN, SECRET, PASSWORD i podobne, albo adres URL bazy danych). Zaznacz lub odznacz to pole według potrzeby.
  4. Kliknij Dodaj zmienną.
  5. Sekcja pokazuje Zmiany zadziałają przy następnym starcie bota. Jeśli bot działa, kliknij Zrestartuj teraz.

Karta Zmienne środowiskowe z trzema zmiennymi, z których jedna jest oznaczona jako Sekret i pokazana jako kropki, oraz formularz Dodaj zmienną poniżej.

Wklej cały plik .env

  1. Kliknij Wklej plik .env.
  2. Wklej zawartość swojego .env. Na razie nic nie jest wysyłane: okno wymienia znalezione nazwy, ze znacznikiem Sekret przy tych, które zapisze jako sekrety.
  3. Nazwy, których panel nie przyjmie, są oznaczone Pominięto: token bota pod każdą z jego nazw (DISCORD_TOKEN, TOKEN, BOT_TOKEN, DISCORD_BOT_TOKEN), GIT_TOKEN, własne ustawienia typu twojego bota (są w sekcji Kod), nazwy systemowe, takie jak PATH, oraz nazwy, które zmieniają sposób startu runtime, takie jak PYTHONPATH, NODE_PATH albo cokolwiek zaczynającego się od LD_. Notatka mówi, gdzie ich miejsce. Linie, których w ogóle nie da się odczytać, są wypisane z numerami linii.
  4. Kliknij przycisk importu, na przykład Zaimportuj 6 zmiennych. Pominięte linie nie wliczają się do liczby.

Działają zwykłe formy .env: KEY=value, export KEY=value, komentarze oraz wartości w apostrofach 'single' lub w cudzysłowach "double" (cudzysłowy mogą obejmować kilka linii). Jeśli nazwa pojawia się dwa razy, wygrywa ostatnia.

Okno Wklej plik .env z wklejonymi liniami, linią DISCORD_TOKEN oznaczoną Pominięto z notatką, że token wpisuje się w sekcji Discord, znacznikiem Sekret przy haśle i przyciskiem importu.

Czytaj je w swoim kodzie

JęzykKod
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")

Twój kod już używa dotenv albo python-dotenv? Nadal działa: te biblioteki nie nadpisują zmiennej, która jest już ustawiona, więc wartości z panelu wygrywają z pozostawionym plikiem .env.

Zmień lub usuń zmienną

  • Zwykła wartość ma Edytuj; sekret ma Zastąp. Sekret zaczyna od pustego pola, bo jego wartość nigdy nie jest odsyłana: wpisz nową wartość i kliknij Zapisz.
  • Usuń pyta Usunąć OPENAI_API_KEY?; potwierdź przez Usuń zmienną. Przy następnym starcie bot już jej nie ma.

Zasady i limity

  • Nazwa to litery, cyfry i podkreślenia, do 64 znaków, i nie zaczyna się od cyfry.
  • Wartość ma do 4 KB. Bot może mieć do 50 zmiennych.
  • Nazwy, które panel ustawia sam, są odrzucane komunikatem ... is set by PlayNHost and cannot be changed here.: nazwy tokena (DISCORD_TOKEN, TOKEN, BOT_TOKEN, DISCORD_BOT_TOKEN), GIT_TOKEN, PATH, HOME, NODE_OPTIONS, nazwy zaczynające się od SERVER_ lub PNH_ oraz własne ustawienia typu twojego bota, takie jak MAIN_FILE.
  • Nazwy, które zmieniają sposób startu runtime albo powłoki, są odrzucane pod Dodaj zmienną komunikatem ... controls how the bot starts and cannot be set here. (wklejony .env oznacza je Pominięto), na przykład PYTHONPATH, NODE_PATH, JAVA_TOOL_OPTIONS albo cokolwiek zaczynającego się od LD_, NPM_CONFIG_, PIP_ lub GIT_.

Twój token Discord trafia do twojego kodu bez żadnej zmiennej z twojej strony, jako DISCORD_TOKEN i także jako TOKEN, BOT_TOKEN i DISCORD_BOT_TOKEN. Dlatego tych nazw nie można tu ustawić.

Gotowy bot nie ma własnej listy zmiennych: jego klucze to stałe pola na karcie Dane uwierzytelniające w tej sekcji. Klucz, bez którego bot nie może wystartować, pokazuje Wymagane, a dopóki nie jest ustawiony, karta Skonfiguruj swojego bota na stronie Przegląd trzyma Uruchom bota wyłączony i prowadzi tutaj linkiem Otwórz Środowisko: Jak zmienić ustawienia gotowego bota.

Powiązane: Jak chronić token bota Discord, Jak używać bazy danych z botem Discord.

Twój bot działa już gdzie indziej? Przenieś go do nas

NASZE OSTATNIE WPISY