EasyBot

EASYBOT GUIDE

Discord Privileged Gateway Intentsの有効化とエラー対処

Used disallowed intentsやメンバー取得失敗を、BotコードとDiscord Developer PortalのIntent設定から解決する方法を説明します。

Gateway Intentsは、Discord Botが受け取るイベントの種類を選ぶ設定です。一部は特権Intentで、Developer Portal側の許可とコード側の指定の両方が必要です。

必要なIntentを選ぶ

Botの機能に必要なイベントだけ有効にします。メッセージ本文やメンバー一覧を使わないBotで、特権Intentを何となく有効にする必要はありません。

  • 使用するイベントと機能を対応させる
  • 不要な特権Intentを要求しない
  • Discordの現在のIntent要件を公式資料で確認する

Portalとコードを一致させる

Portalで無効のIntentをコードが要求すると接続時に拒否されます。反対にPortalで許可されていても、コード側が指定しなければ対象イベントは届きません。

  1. Developer PortalのBot設定を確認する
  2. ライブラリのIntent指定を確認する
  3. 設定を保存してBotを再起動する

エラーを切り分ける

Used disallowed intentsはGateway接続時の設定問題を示します。イベントが届かない場合は、接続後のコード、対象ギルド、キャッシュや権限も確認します。

  • 接続ログの最初のエラーを読む
  • Portal変更後にプロセスを再接続する
  • 必要ならテストBotで一つずつIntentを有効化する

プライバシーと運用

ユーザー情報へアクセスする範囲を必要最小限にし、保存するデータの目的と期間を決めます。Intentを許可されたことは、あらゆるデータ保存への同意を意味しません。

  • 必要なデータだけ処理する
  • 個人情報の保存期間を定める
  • Botの説明とプライバシー案内を更新する