Discord Botの人気と数が増加するにつれ、ユーザーと開発者の安全と健全を保つことが重要になります。 これに伴い、プラットフォームの成長に合わせてポリシーを更新する必要があります。
メッセージコンテントが新しい特権インテントに
2022年8月31日から、メッセージコンテントへのアクセスは、プレゼンスやギルドメンバーのデータと同様に、認証済みのDiscord Botやアプリを開発・管理する開発者にとって特権インテントとなります。
この変更は、100以上のサーバーに存在する認証済みのBotのみに影響し、未認証のBotには影響しません。
開発者は新しい要件に合わせてアプリを更新する必要があります。
インテントの申請は2021年10月25日(月)から開始されました。 移行期間中およびその後、開発者は他のインテントと同様に、開発者ポータルを通じてメッセージコンテントへのアクセスを申請できます。
2022年9月1日、認証済みアプリで特権インテントの承認を受けていない場合、メッセージコンテントへのアクセスを削除します。
過去1年間で、Slashコマンド、ボタン、セレクトメニューなど、メッセージコンテントへのアクセスを必要としない新機能を提供するInteractions APIを構築してきました。 これらの新しいツールをまだ活用していない開発者は、今後9か月間で利用を開始することをお勧めします。
誰が影響を受けるのか?
この変更は、100以上のサーバーにある認証済みのBotおよびアプリのみに適用されます。
開発者が迅速にテストや反復を行えるように、未認証のアプリやBotは、プレゼンスやギルドメンバーのデータと同様に、制限なくメッセージコンテントにアクセスできます。
承認されないBotがアクセスを失うものは?
メッセージコンテントが承認されていない場合、メッセージ受信時に以下のフィールドがメッセージオブジェクトで空(データ型に応じて空文字列または空配列)になります:
content
embeds
Botはこれらのフィールドを依然として送信できます。 また、Botは以下の情報を常に取得できます:
- Botが送信するメッセージ
- BotがDMで受信するメッセージ
- Botが言及されたメッセージ
引き続きイベントを受信し、同じAPIを呼び出すことができます。 そして、author
やtimestamp
のようなメッセージに関する他のデータを取得します。 端的に言えば、誰かがメッセージを送信した時の情報をすべて知ることができますが、なにを彼らが言ったかは分かりません。
これらの制限は、インタラクションペイロード(例:ボタンインタラクション)で受信したメッセージオブジェクトには適用されません。
Discordがこの変更を行う理由
Discord Botが増えるにつれて、ユーザーと開発者を健全に保つ重要性が増してきたからです。 既存のポリシーでは、開発者がBotの機能に必要な情報のみをアクセスし、開発者の認証情報とユーザーデータを保護することを要求しています。
より機密性の高いデータについては、その情報を保護し、責任を持ってアクセスするための追加措置を講じています。 これはプライバシーを重視するユーザー、そして優れたユーザーエクスペリエンスを作ることに力を注ぐ開発者にとって良いことです。 必要のないデータへのアクセスやセキュリティ制限を気にする必要がありません。
プレゼンスおよびギルドメンバー情報は、レビュー後に必要に応じて付与されます。メッセージコンテントも同様のレビューおよび承認フレームワークの対象とするべきだと考えています。 メッセージコンテントが一部のBot機能の中心であることを理解し、適切な代替手段とアクセス許可の準備を行いました。
Botの将来として、インタラクションへの投資を続けており、新しいSlashコマンドオプションタイプ、より良いモデレーションコントロール、新しいタイプのインタラクションを提供しています。
未認証Botについて
未認証のBotおよびアプリはこの変更の影響を受けず、特権インテントを申請することなくメッセージコンテントを使用し続けることができます。
移行期間はどれくらい?
変更には時間がかかるため、9か月の長い移行期間を設けました。 移行期間は2022年8月31日に終了し、特権インテントの申請が必要な開発者は2021年10月25日から申請を開始できます。
仮想イベントやQ&Aセッションも開催しており、公式のDiscord開発者サーバーで最新情報を入手できます。
BotはDM(ダイレクトメッセージ)内のメッセージを読むことができますか?
はい、この変更はBotのDM内のメッセージコンテントへのアクセスには影響しません。
モデレーションBotについてはどうですか?
多くのBotやアプリが、ユーザーによって送信されたメッセージの読み取り、モデレーション、および管理を目的としています。 これらの要求は問題なく承認されると予想しています。
Botがインタラクションでは実現できない独自の機能を持っている場合、インテントを申請できます。
新しいインテントの申請はいつ開始できますか?
多くのBotやアプリが、Slashコマンドやその他のインタラクションなど、新しいユーザーとの関わり方に移行すると予想しています。 独自の機能を持つBotのみがこのインテントを利用できることに留意してください。
Botがインタラクションでは実現できない独自の機能を持っている場合、2021年10月25日から申請を開始できます。 開発者ポータルで利用可能なフォームから申請できます。
誰がインテントを取得できますか?
私たちは、独自性、魅力、変革性を備えた機能、非侵襲的でユーザープライバシーと安全性を最優先にする機能、Botの使命と既存の機能セットに関連する機能、およびインフラストラクチャに大きな影響を与えない機能に対してメッセージコンテントの承認を行います。
レビューポリシーの詳細はこちらをご覧ください。
インテントをリクエストして拒否された場合はどうなりますか?
2022年8月31日の移行期間終了後、特権インテントを付与されていないすべての認証済みアプリのメッセージコンテントへのアクセスは取り消されます。
名前が示すように、特別なインテントへのアクセスは特権です! 申請内容はすべて注意深く確認し、特定の場合には、インテントリクエストが承認されなかった理由をフィードバックいたします。
メッセージインテントの申請はどこで行いますか?
メッセージコンテントインテントおよびその他の特権インテントは、開発者ポータルのBotページから直接申請できます。 Note that this form will only be available if you are eligible to apply, i.e. if you are in 75 or more servers and already verified.