Každý, kdo nasadil bota pro Discord, to zažil: normální úterý a najednou increased api errors všude a polovina příkazů selhává. Google Trends zaznamenal tuto frázi v polovině roku 2026 jako hledaný výraz s prudkým nárůstem; stává se to natolik často, že ji koncoví uživatelé hledají přímo. Tady je, jak to přežít a co si z těchto zkušeností bere Server API Noxyru.

A request gets a 429, waits out a countdown, then retries and succeeds with a 200. Server 429 200 3 2 1 Retry-After

Tři nejčastější způsoby, jak Discord API selhává

  • Globální výpadek / částečný výpadek: vidět na discordstatus.com. Příznaky: jakýkoli požadavek může selhat, gateway může spadnout, latence všude skokově vzroste.
  • 429 Too Many Requests: překročili jste limit bucketu. Discord vrátí hlavičku Retry-After, která přesně říká, jak dlouho čekat.
  • Neplatná gateway session: vaše WebSocket session je zastaralá. Znovu se připojte pomocí resume tokenu; pokud to nepomůže, udělejte nové identify.

Stavějte na selhání, ne na slunečné počasí

  • Respektujte Retry-After. Nezkoušejte znovu podle vlastního časovače. Počkejte přesně tak dlouho, jak říká Discord, a pak zkuste jednou znovu. Boti, kteří se prodírají přes 429, dostanou ban.
  • Exponenciální backoff s jitterem. Při chybách 5xx čekejte 1 s, 2 s, 4 s, 8 s, plus malý náhodný posun, aby flotila restartů nezpůsobila nápor.
  • Přerušení nekritických volání. Pokud váš bot posílá týdenní přehled a API Discordu je zhoršené, tento běh přeskočte, místo abyste přidávali další zátěž. Přehled může počkat; výpadek nemůže.
  • Cachujte vše, co není v reálném čase. Názvy guild, seznamy kanálů, ID rolí si ukládejte lokálně. Během výpadku vám cachovaná data umožní dál odpovídat.
  • Ukazujte stav. Pokud příkazy vašeho bota selhávají, protože je Discord nedostupný, řekněte to uživatelům. Jednořádkové „Discord má momentálně potíže“ je lepší než tiché timeouty.

Jak Server API Noxyru uplatňuje tyto zkušenosti

Server API Noxyru není Discord API, čte vlastní databázi, ale stejné principy platí a ovlivnily jeho návrh:

  • Předvídatelné chyby: každé selhání je JSON s pevným kódem error. Žádné HTML, žádné proměnlivé formáty.
  • Hlavičky limitů: standardizované hlavičky RateLimit-*, aby klienti zpomalili dřív, než narazí na 429.
  • Elegantní degradace: endpoint /api/v1/server přejde na cachovaná data guildy, když selže dotažení z Discordu.
  • Žádné kaskádové selhání: každý endpoint selhává nezávisle. Výpadek Discordu nerozbije váš endpoint analytiky tiketů, protože čte z Mongo, ne z Discordu.
  • Okamžitý vypínač: zakázání klíče nebo oprávnění platí už při dalším požadavku, bez restartu.

Postup, když Discord zlobí

  • 1. Nejdřív zkontrolujte discordstatus.com. Je to jen vy?
  • 2. Podívejte se do vlastních chybových logů: 429, 5xx, odpojení gateway.
  • 3. Pokud je problém na straně Discordu: pozastavte nekritické zápisy, respektujte Retry-After a počkejte.
  • 4. Pokud je problém u vás: zkontrolujte nedávné nasazení, invalidace cache a nové funkce.
  • 5. Komunikujte. Krátká upřímná zpráva ve vašem podpůrném kanálu zabrání 100 duplicitním hlášením.

Více k vrstvě API: Server API Noxyru, Discord API vs. API Noxyru, principy návrhu API.