개발자 포털
실험적 봇 및 앱 플랫폼은 활발히 개발 중입니다. 자체 호스팅 서버 지원은 2026-08-13에 출시되었으며 클라우드보다 기능 범위가 좁습니다. 지원 항목 보기.
← 문서

게이트웨이 인텐트

인텐트는 op:2 Identify에서 보내는 비트필드로, 게이트웨이에 어떤 이벤트 범주를 봇에 전달할지 알려 줍니다. 비트와 의미가 Discord와 같습니다. 기존 인텐트 설정이 그대로 동작합니다.

인텐트 비트

더 이상 쓰이지 않는 것을 제외한 Discord의 모든 인텐트 비트를 GameVox에서 지원합니다. GameVox에 아직 없는 기능(스테이지 채널, 예약 이벤트 등)의 경우 비트는 받아들이지만 이벤트는 발생하지 않습니다. 라이브러리에서 오류가 나지도 않습니다.

인텐트비트특권이벤트
GUILDS 1 << 0 GUILD_CREATE, GUILD_UPDATE, GUILD_DELETE, CHANNEL_CREATE/UPDATE/DELETE, CHANNEL_PINS_UPDATE, GUILD_ROLE_CREATE/UPDATE/DELETE
GUILD_MEMBERS 1 << 1 GUILD_MEMBER_ADD, GUILD_MEMBER_UPDATE, GUILD_MEMBER_REMOVE, 구성원 청크 전송
GUILD_MODERATION 1 << 2 GUILD_BAN_ADD, GUILD_BAN_REMOVE. GUILD_AUDIT_LOG_ENTRY_CREATE는 받아들이지만 아직 이벤트는 없습니다
GUILD_EMOJIS_AND_STICKERS 1 << 3 받아들이지만 아직 이벤트는 없습니다(현재 상태가 필요하면 REST로 조회하세요)
GUILD_INTEGRATIONS 1 << 4 받아들이지만 아직 이벤트는 없습니다
GUILD_WEBHOOKS 1 << 5 받아들이지만 아직 이벤트는 없습니다
GUILD_INVITES 1 << 6 받아들이지만 아직 이벤트는 없습니다
GUILD_VOICE_STATES 1 << 7 VOICE_STATE_UPDATE, VOICE_SERVER_UPDATE
GUILD_PRESENCES 1 << 8 PRESENCE_UPDATE
GUILD_MESSAGES 1 << 9 길드 내 MESSAGE_CREATE/UPDATE/DELETE/DELETE_BULK
GUILD_MESSAGE_REACTIONS 1 << 10 MESSAGE_REACTION_ADD, MESSAGE_REACTION_REMOVE. REMOVE_ALL / REMOVE_EMOJI는 받아들이지만 아직 이벤트는 없습니다(REST는 동작합니다)
GUILD_MESSAGE_TYPING 1 << 11 길드 내 TYPING_START
DIRECT_MESSAGES 1 << 12 DM 내 MESSAGE_*
DIRECT_MESSAGE_REACTIONS 1 << 13 DM 내 MESSAGE_REACTION_*
DIRECT_MESSAGE_TYPING 1 << 14 DM 내 TYPING_START
MESSAGE_CONTENT 1 << 15 MESSAGE_*에 content, embeds, attachments, components를 추가합니다
GUILD_SCHEDULED_EVENTS 1 << 16 받아들이지만 아직 이벤트는 없습니다
AUTO_MODERATION_CONFIGURATION 1 << 20 받아들이지만 아직 이벤트는 없습니다
AUTO_MODERATION_EXECUTION 1 << 21 받아들이지만 아직 이벤트는 없습니다

특권 인텐트

Discord에서는 세 인텐트가 특권으로 분류되며, 봇이 서버 100개를 넘으면 수동 승인이 필요합니다: GUILD_MEMBERS, GUILD_PRESENCES, MESSAGE_CONTENT.

GameVox에서는 애플리케이션의 Bot 탭에서 켜면 세 가지 모두 자동으로 승인됩니다. 이 토글이 있는 이유는, 포털 쪽 승인 여부를 확인하는 라이브러리가 4014 Disallowed intents로 연결을 끊지 않도록 하기 위해서입니다. 서버 100개 기준의 심사 절차는 없습니다. 토글을 켜고 비트를 세우면 끝입니다.

MESSAGE_CONTENT의 예외

Discord와 정확히 같습니다. MESSAGE_CONTENT가 없어도 다음 경우에는 메시지의 content / embeds / attachments / components가 포함됩니다.

  • 메시지가 자신의 봇에서 온 것일 때(자신의 메시지에는 항상 본문이 포함됩니다).
  • 메시지가 봇을 멘션했을 때(ID로).
  • 메시지가 봇과의 DM에 있을 때.
  • 메시지가 봇이 수신자인 인터랙션의 응답일 때.

아직 발생하지 않는 이벤트(인텐트는 수용)

아래 인텐트를 켜도 문제는 없지만(와이어에서 받아들이고 라이브러리에서 오류도 나지 않습니다) 현재는 이벤트가 게시되지 않습니다. 봇 로직이 이에 의존한다면 당분간 REST로 조회하세요.

  • USER_UPDATE
  • GUILD_EMOJIS_UPDATE, GUILD_STICKERS_UPDATE
  • WEBHOOKS_UPDATE, INTEGRATION_CREATE/UPDATE/DELETE, INVITE_CREATE/DELETE
  • GUILD_AUDIT_LOG_ENTRY_CREATE
  • MESSAGE_REACTION_REMOVE_ALL, MESSAGE_REACTION_REMOVE_EMOJI (REST 엔드포인트는 동작합니다)
  • THREAD_*, STAGE_INSTANCE_*, GUILD_SCHEDULED_EVENT_*, AUTO_MODERATION_*, MESSAGE_POLL_*

자체 호스팅 서버는 더 축소된 일부만 발생시킵니다. 정확한 목록은 해당 페이지를 참고하세요.

나타날 수 있는 종료 코드

  • 4013 Invalid intent(s): 유효한 마스크를 넘는 비트가 설정되었습니다(라이브러리의 비트 연산을 확인하세요).
  • 4014 Disallowed intents: 개발자 포털에서 해당 토글을 켜지 않고 특권 인텐트 비트를 설정했습니다.

예: 인텐트 설정

discord.js

const { GatewayIntentBits } = require('discord.js');

const intents =
    GatewayIntentBits.Guilds
  | GatewayIntentBits.GuildMessages
  | GatewayIntentBits.MessageContent;   // 특권. 포털에서 먼저 토글을 켜세요

const client = new Client({ intents });

discord.py

intents = discord.Intents.default()
intents.members = True            # 특권
intents.message_content = True    # 특권
client = discord.Client(intents=intents)

← 문서로 돌아가기