Oficjalne API Discorda to niskopoziomowa powierzchnia stworzona dla botów i klientów; operujesz zdarzeniami gatewaya, ręcznie cache'ujesz dane i żonglujesz intencjami. Noxyr Server API to wysokopoziomowe API HTTP ograniczone do jednego serwera, które zwraca gotowe analizy. Rozwiązują różne problemy. Oto, kiedy sięgać po każde z nich.

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 daje API Discorda

Dokumentacja API Discorda (bardzo często wyszukiwana; Google Trends pokazuje zapytania „discord api documentation” wzrosły o 700% rok do roku) jest źródłem prawdy dla wszystkiego, co należy do samego Discorda: wiadomości, użytkowników, gildie, role, kanały, głos, wątki, moderacja. Dostajesz REST API do akcji i gateway WebSocket do zdarzeń. Każda funkcja działająca w czasie rzeczywistym wymaga otwarcia trwałego połączenia, obsługi READY i heartbeatów, unieważniania cache oraz kubełków limitów.

Co daje Noxyr Server API

Noxyr Server API to dużo mniejsza powierzchnia: sześć endpointów tylko do odczytu, ograniczonych do jednego serwera przez token bearer. Odpowiada na pytania typu „ile ticketów w tym miesiącu?” albo „przychód w podziale na walutę”, na które API Discorda w ogóle nie odpowie, bo dane źródłowe leżą w bazie danych Noxyr, a nie w Discordzie.

Porównanie

  • Uwierzytelnianie: Discord używa OAuth2 albo tokenów bota z intencjami. Noxyr używa jednego tokena bearer na serwer.
  • Transport: Discord to REST + gateway WebSocket. Noxyr to zwykły HTTPS z włączonym CORS dla przeglądarek.
  • Zakres: Discord jest globalny dla Twojego bota na każdym serwerze, na którym jest. Noxyr jest przypisany do jednego konkretnego serwera.
  • Kształt danych: Discord zwraca surowe obiekty: gildie, członków, wiadomości. Noxyr zwraca agregaty, sumy, średnie i dzienne zestawienia.
  • Limity: Discord stosuje kubełkowe limity na trasę. Noxyr ma płaski limit 60 żądań/min na klucz.
  • Nakład pracy przy konfiguracji: Discord wymaga aplikacji bota, zaproszenia, intencji i handlerów zdarzeń. Noxyr wymaga jednego kliknięcia, żeby wygenerować klucz.

Wybierz Discord, gdy…

  • Potrzebujesz zdarzeń w czasie rzeczywistym (przyszła wiadomość, dołączył członek, zmienił się kanał głosowy).
  • Chcesz wysyłać wiadomości, edytować kanały, banować użytkowników albo zarządzać rolami z własnej aplikacji.
  • Budujesz bota na Discordzie albo zewnętrznego klienta Discorda.

Wybierz Noxyr Server API, gdy…

  • Chcesz pokazywać na publicznej stronie statystyki serwera na żywo bez utrzymywania bota.
  • Potrzebujesz analityki ticketów, danych sprzedażowych, średnich ocen albo udziału w giveawayach, czyli danych, których Discord nie przechowuje.
  • Chcesz JSON-a przyjaznego CORS, który wywołasz z przeglądarkowego panelu bez proxy.
  • Chcesz stabilnej, wersjonowanej powierzchni, w której przełączniki zakresów pozwalają wyłączyć udostępnianie danych bez ponownego wdrażania czegokolwiek.

Używanie obu razem

Te dwa API dobrze się uzupełniają. Użyj API Discorda we własnym bocie, żeby reagować na zdarzenia, a Noxyr Server API, żeby odczytywać zagregowany stan na swojej stronie. Dzięki temu publiczny panel nie potrzebuje w ogóle intencji bota ani połączeń gatewaya, wystarczy pojedyncze żądanie HTTPS.

Więcej: samouczek Server API, zasady projektowania, obsługa błędów API Discorda.