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.
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.