Token = klucze do mieszkania
Token bota Discord to pełnoprawne poświadczenie — ktokolwiek go posiada, działa jako Twój bot: wysyła wiadomości, zarządza rolami, banuje użytkowników. Nie wklejaj tokena na kanale Discord, w ticketach wsparcia, na screenach ani w publicznym repozytorium GitHub. Jeśli token wycieknie — natychmiast zresetuj go w Discord Developer Portal i zaktualizuj na hostingu. Traktuj reset tokena jak zmianę hasła: szybko i bez zwlekania.
Uprawnienia (permissions)
Zasada najmniejszych uprawnień dotyczy każdego bota. Nie dawaj roli Administrator „na wszelki wypadek” — bot z takim uprawnieniem może usunąć kanały, wyrzucić właściciela i przejąć serwer. Przyznaj tylko to, czego bot faktycznie potrzebuje: Manage Roles do nadawania ról po zakupie, Kick/Ban do moderacji, Manage Messages do filtrów. Rola bota powinna być wyżej niż role, którymi zarządza, ale poniżej właściciela i zaufanych adminów.
- Osobna rola bota — nie używaj roli moderatora do działania bota.
- Sprawdź uprawnienia kanałowe — bot może mieć inną rolę niż na poziomie serwera.
- Przy zaproszeniu bota używaj wygenerowanego linku z minimalnymi scopes.
Privileged Intents
Gateway Intents kontrolują, jakie zdarzenia bot otrzymuje z Discorda. Trzy intenty wymagają ręcznego włączenia w Developer Portal: Privileged Intents — Message Content, Server Members i Presence. Włączaj tylko te, które są niezbędne. Message Content Intent jest potrzebny do filtrów słów, ale zwiększa powierzchnię ataku (bot „widzi” treść wiadomości). Nie loguj prywatnych wiadomości „bo debug” i nie przechowuj ich dłużej niż wymaga logika biznesowa.
Hosting i sekrety
Token, client secret OAuth i klucze API płatności trzymaj w zmiennych środowiskowych (.env na serwerze, secrets w CI/CD) — nigdy w kodzie źródłowym. Plik .env dodaj do .gitignore i sprawdź, czy przypadkiem nie trafił do historii commitów. Ogranicz dostęp SSH i panelu hostingowego do osób, które go faktycznie potrzebują. Więcej o infrastrukturze: hosting bota Discord.
OAuth i panel webowy
Jeśli bot ma powiązany panel z logowaniem Discord, client secret OAuth jest równie wrażliwy jak token bota. Przechowuj go po stronie serwera, nigdy w frontendzie. Szczegóły flow autoryzacji opisuje dokumentacja OAuth2. Przy panelu admina weryfikuj uprawnienia po stronie backendu — ukryty link to nie zabezpieczenie.
Checklist przed produkcją
- Token w env, nie w kodzie — sprawdź repozytorium pod kątem wycieków.
- Uprawnienia bota — minimum wymagane, bez Administrator.
- Intents — tylko potrzebne Privileged Intents włączone w portalu.
- Webhooki i endpointy — weryfikacja podpisu (Stripe, Discord interactions).
- Backup konfiguracji: role ID, kanały, env — na wypadek migracji.
- Plan reakcji na wyciek tokena: reset, redeploy, audyt logów.
Przed startem na dużym serwerze przejdź też checklist wdrożeniowy. Oficjalne wytyczne bezpieczeństwa i best practices znajdziesz w Discord Developer Docs.
Buduję boty z myślą o bezpiecznym wdrożeniu — napisz przez formularz kontaktowy.