開発者ポータル
試験運用中 ボット&アプリ基盤は現在も活発に開発中です。セルフホストサーバーのサポートは 2026-08-13 に提供を開始しましたが、機能範囲はクラウド版より狭くなっています。対応状況を見る
← ドキュメント

ゲートウェイ Intent

Intent は op:2 Identify で送るビットフィールドで、どのイベントカテゴリをボットに配信するかをゲートウェイに伝えます。ビットも意味も Discord と同一です。既存の Intent 設定はそのまま動きます。

Intent のビット

非推奨でない Discord の Intent ビットは、GameVox ですべて対応しています。GameVox にまだ機能がない場合(ステージチャンネル、予定イベントなど)、ビットは受け付けられますがイベントは発生しません。ライブラリがエラーになることもありません。

Intentビット特権イベント
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_* に contentembedsattachmentscomponents を追加します
GUILD_SCHEDULED_EVENTS 1 << 16 受け付けますが、イベントはまだありません
AUTO_MODERATION_CONFIGURATION 1 << 20 受け付けますが、イベントはまだありません
AUTO_MODERATION_EXECUTION 1 << 21 受け付けますが、イベントはまだありません

特権 Intent

Discord では 3 つの Intent が特権扱いで、ボットが 100 サーバーを超えると手動承認が必要になります: GUILD_MEMBERSGUILD_PRESENCESMESSAGE_CONTENT

GameVox では、アプリケーションの Bot タブでオンにすると 3 つとも自動的に承認されます。このトグルがあるのは、ポータル側の承認を前提とするライブラリが 4014 Disallowed intents で接続を閉じないようにするためです。100 サーバーの審査プロセスはありません。トグルをオンにしてビットを立てれば完了です。

MESSAGE_CONTENT の例外

Discord とまったく同じです。MESSAGE_CONTENT がなくても、次の場合はメッセージの content / embeds / attachments / components が含まれます。

  • メッセージが自分のボット自身のものである(自分のメッセージには常に本文が含まれます)。
  • メッセージがボットをメンションしている(ID で)。
  • メッセージがボットとの DM にある。
  • メッセージがボット宛のインタラクションの応答である。

まだ発行されないイベント(Intent は受け付け)

次の Intent を有効にしても問題はありません(ワイヤー側で受け付けられ、ライブラリもエラーになりません)が、現時点ではイベントが発行されません。ボットのロジックがこれらに依存する場合は、当面 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: 開発者ポータルで対応するトグルをオンにせずに、特権 Intent のビットを立てています。

例: Intent の設定

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)

← ドキュメントに戻る