공식 디스코드 API는 봇과 클라이언트를 위해 만들어진 저수준 인터페이스예요. 게이트웨이 이벤트를 직접 다루고, 캐시도 직접 관리하고, 인텐트도 직접 맞춰야 해요. Noxyr 서버 API는 한 서버에 범위가 한정된 고수준 HTTP API로, 완성된 분석 결과를 돌려줘요. 두 가지는 서로 다른 문제를 해결해요. 언제 무엇을 써야 하는지 정리해 볼게요.

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

디스코드 API가 주는 것

디스코드 API 문서(검색이 아주 많이 되는 문서이고, 구글 트렌드에서도 "discord api documentation" 검색량이 전년 대비 700% 늘었어요)는 디스코드 자체가 소유한 모든 것에 대한 기준이에요. 메시지, 사용자, 길드, 역할, 채널, 음성, 스레드, 모더레이션이 여기에 해당해요. 작업을 위한 REST API와 이벤트를 위한 WebSocket 게이트웨이를 받아요. 실시간 기능을 만들려면 지속적인 연결을 열고, READY와 하트비트를 처리하고, 캐시 무효화와 속도 제한 버킷까지 다뤄야 해요.

Noxyr 서버 API가 주는 것

Noxyr 서버 API는 훨씬 작은 인터페이스예요. 베어러 토큰으로 한 서버에 범위가 정해진 읽기 전용 엔드포인트 여섯 개가 있어요. "이번 달 티켓이 몇 개인가요?"나 "통화별 매출은 얼마인가요?" 같은 질문에 답하는데, 디스코드 API로는 아예 답할 수 없어요. 해당 데이터가 디스코드가 아니라 Noxyr 데이터베이스에 있기 때문이에요.

나란히 비교하기

  • 인증: 디스코드는 OAuth2나 인텐트가 설정된 봇 토큰을 써요. Noxyr는 서버마다 베어러 토큰 하나를 써요.
  • 전송: 디스코드는 REST와 WebSocket 게이트웨이예요. Noxyr는 브라우저를 위해 CORS를 켠 일반 HTTPS예요.
  • 범위: 디스코드는 봇이 속한 모든 서버에 걸쳐 전역이에요. Noxyr는 특정 서버 하나에 묶여 있어요.
  • 데이터 형태: 디스코드는 길드, 멤버, 메시지 같은 원본 객체를 돌려줘요. Noxyr는 합계, 총계, 평균, 일별 버킷 같은 집계 값을 돌려줘요.
  • 속도 제한: 디스코드는 라우트별 버킷 제한을 써요. Noxyr는 키당 분당 60회의 단일 제한이에요.
  • 설정 노력: 디스코드는 봇 앱, 초대, 인텐트, 이벤트 핸들러가 필요해요. Noxyr는 클릭 한 번으로 키를 만들 수 있어요.

디스코드를 고를 때…

  • 실시간 이벤트가 필요할 때예요(메시지가 도착했거나, 멤버가 들어왔거나, 음성 채널이 바뀌었을 때).
  • 앱에서 메시지를 보내거나, 채널을 편집하거나, 사용자를 밴하거나, 역할을 관리하고 싶을 때예요.
  • 디스코드 봇이나 서드파티 디스코드 클라이언트를 만들 때예요.

Noxyr 서버 API를 고를 때…

  • 봇을 따로 유지하지 않고 공개 웹사이트에 실시간 서버 통계를 보여 주고 싶을 때예요.
  • 티켓 분석, 판매 데이터, 리뷰 평균, 기브어웨이 참여도처럼 디스코드가 저장하지 않는 데이터가 필요할 때예요.
  • 프록시 없이 브라우저 대시보드에서 호출할 수 있는 CORS 친화적인 JSON이 필요할 때예요.
  • 범위 토글로 아무것도 다시 배포하지 않고 데이터 노출을 끌 수 있는, 안정적이고 버전이 관리되는 인터페이스가 필요할 때예요.

둘을 함께 쓰기

두 API는 잘 어울려요. 내 봇에서는 디스코드 API로 이벤트에 반응하고, 내 웹사이트에서는 Noxyr 서버 API로 집계된 상태를 읽으면 돼요. 그러면 공개 대시보드에 봇 인텐트나 게이트웨이 연결이 전혀 필요 없고, HTTPS 요청 하나면 충분해요.

더 보려면 서버 API 튜토리얼, 설계 원칙, 디스코드 API 오류 처리를 읽어 보세요.