Oficiální Discord API je nízkoúrovňové rozhraní určené pro boty a klienty; pracujete s událostmi gateway, cachujete ručně a žonglujete s intenty. Server API Noxyru je vysokoúrovňové HTTP API omezené na jeden server, které vrací hotové analytiky. Řeší různé problémy. Tady je, kdy sáhnout po kterém.

Discord's gateway events and the Noxyr Server API's simple GET request both feed into your app. Discord API Gateway Noxyr API GET /v1 JSON Your app react to events read live stats

Co vám dává Discord API

Dokumentace Discord API (hodně hledaná; Google Trends ukazuje dotazy na „discord api documentation“ s nárůstem o 700 % meziročně) je zdrojem pravdy pro vše, co Discord sám vlastní: zprávy, uživatele, guildy, role, kanály, hlas, vlákna, moderaci. Dostanete REST API pro akce a WebSocket gateway pro události. Cokoli v reálném čase vyžaduje otevřené trvalé spojení, zpracování READY a heartbeatů, invalidaci cache a bucketů limitů rychlosti.

Co vám dává Server API Noxyru

Server API Noxyru je mnohem menší rozhraní: šest endpointů jen pro čtení omezených na jeden server pomocí bearer tokenu. Odpovídá na otázky typu „kolik tiketů je tento měsíc?“ nebo „tržby podle měny“, na které Discord API vůbec neodpoví, protože podkladová data žijí v databázi Noxyru, ne na Discordu.

Vedle sebe

  • Autentizace: Discord používá OAuth2 nebo tokeny botů s intenty. Noxyr používá jeden bearer token na server.
  • Přenos: Discord je REST + WebSocket gateway. Noxyr je prosté HTTPS s povoleným CORS pro prohlížeče.
  • Rozsah: Discord je globální pro vašeho bota napříč všemi servery, kde je. Noxyr je vázaný na jeden konkrétní server.
  • Tvar dat: Discord vrací surové objekty: guildy, členy, zprávy. Noxyr vrací agregáty, součty, průměry, denní souhrny.
  • Limity rychlosti: Discord používá bucketované limity podle trasy. Noxyr má plochých 60 požadavků za minutu na klíč.
  • Náročnost nastavení: Discord potřebuje aplikaci bota, pozvánku, intenty a obsluhu událostí. Noxyr potřebuje jedno kliknutí na vygenerování klíče.

Zvolte Discord, když…

  • Potřebujete události v reálném čase (přišla zpráva, připojil se člen, změnil se hlasový kanál).
  • Chcete z aplikace posílat zprávy, upravovat kanály, banovat uživatele nebo spravovat role.
  • Stavíte bota pro Discord nebo klienta třetí strany pro Discord.

Zvolte Server API Noxyru, když…

  • Chcete na veřejném webu zobrazovat živé statistiky serveru, aniž byste udržovali bota.
  • Potřebujete analytiku tiketů, data o prodeji, průměry recenzí nebo účast v giveaway, data, která Discord neukládá.
  • Chcete JSON přátelský k CORS, který lze volat z prohlížečového dashboardu bez proxy.
  • Chcete stabilní, verzované rozhraní, kde přepínače rozsahu umožní zrušit vystavení dat bez nového nasazení čehokoli.

Použití obou dohromady

Obě API se dobře doplňují. Discord API ve vašem vlastním botovi použijte k reakci na události a Server API Noxyru ke čtení agregovaného stavu na vašem webu. Veřejný dashboard pak nepotřebuje intenty bota ani připojení gateway; stačí jeden požadavek HTTPS.

Dále: návod k Server API, principy návrhu, řešení chyb Discord API.