Discord ogranicza, jak szybko bot może wysyłać zapytania. Zwykły bot rzadko to zauważa, ale pętla, która edytuje wiele wiadomości albo masowo reaguje, może trafić na limit.
Jak wygląda limit zapytań
Twoja biblioteka wypisuje ostrzeżenie, takie jak You are being rate limited, albo błąd ze statusem 429 Too Many Requests. Biblioteki takie jak discord.js i discord.py same czekają i ponawiają próbę. Kilka ostrzeżeń jest normalne. Ciągły strumień oznacza, że twój kod wysyła za dużo.
Jak mieścić się w limitach
- Rób pracę raz. Cache'uj wyniki zamiast pytać Discorda za każdym razem, gdy ktoś uruchamia komendę.
- Nie przechodź pętlą po wielu członkach ani kanałach i nie wywołuj API dla każdego z nich. Używaj akcji zbiorczych tam, gdzie istnieją, na przykład masowego usuwania.
- Zwolnij wiadomości, edycje i reakcje w pętlach, wstawiając krótkie oczekiwanie między nimi.
- Odkładaj długie komendy. Odpowiedz na komendę slash w ciągu trzech sekund, a potem wyślij dalszą odpowiedź: Typowe błędy botów Discord.
- Unikaj globalnych limitów zapytań, nie uruchamiając kilku kopii tego samego bota z tym samym tokenem.
Co może skutkować banem bota
Decydują o tym zasady Discorda, nie nasze. Typowe przyczyny:
- Masowe wiadomości prywatne do osób, które o nie nie prosiły.
- Spam, w tym wchodzenie na wiele serwerów w celu reklamy.
- Selfboty: logowanie tokenem zwykłego konta użytkownika. Niedozwolone na Discordzie i niedozwolone na naszych serwerach: Zasady hostingu botów Discord i uczciwe użytkowanie.
- Wyciek tokena i nadużycie go przez kogoś: Jak chronić token bota Discord.
Jeśli bot jest już ograniczony
- Zatrzymaj serwer, przeczytaj konsolę, żeby znaleźć, która akcja jest w pętli, popraw to i uruchom ponownie.
- Jeśli bot jest zablokowany przez długi czas, przyczyną jest zwykle kod, który agresywnie ponawia próby. Dodaj oczekiwanie lub limit.
- Zresetuj token, jeśli sądzisz, że ktoś inny go użył.





