LoginSignup
3
2

More than 1 year has passed since last update.

discordの公開botを申請した話

Posted at

discordの公開botを申請した話です

公開botと認証

discordのbotを公開すると、管理人の承認なしでどのサーバにも導入することが出来ます
非公開の状態だと50サーバまでしか導入できず、サーバへの追加を管理人が行う必要があります

しかし、公開botにしても導入できるのは最大100サーバまでで、
それ以上になるとdiscordの運営に連絡して申請の必要があります

申請は75サーバ以上に導入されると申請可能になります

申請にかかる時間

公開botの申請自体は早かったと思います
ホストプロバイダを教えてほしいというメールが来ていたので、
使用しているVPSサーバとssh2でアクセスしている、と答えたら2日ほどで承認が降りました

しかし、100サーバ以上に導入しようとするとエラーが出ます
この原因はintentsにあります

intentsとは

discordではbotの管理画面からONにしないと一部のイベントが送られてきません
intent.png

上はGUILD_PRESENCESで、on_member_updateのようなメンバーの情報が変更されたイベントを取得するのに必要です
下はGUILD_MEMBERSで、Guild.get_memberのような、メンバーの一覧を取得するのに必要です

これらOnにしなくても、書き込まれたメッセージのユーザーデータは取得できるので、
メッセージに応答するだけのbotは問題なく作成できます

そして、公開botの承認が降りたあとは、これらのオプションを変更することが出来ません
厳密には、ON→OFFは出来ますが、OFF→ONができません
ONのままだと、100サーバ以上の導入は依然としてエラーが出ます

つまり、両方をOFFにしないと承認が降りた意味がありません

さらなる申請

これらのONにしたbotを作る場合、更に申請が必要になります
これはサポートから専門の問い合わせフォームがあるので必要事項を書いて送りました

最初はテンプレメールが帰ってくるので、必要事項を書いて送信
そこから一ヶ月弱かかり、「本当に必要なのですか?」という英語のメールが着信
それに返信して一ヶ月弱かけて承認が降りました
最初に申請してから約2ヶ月ほどです

最初のテンプレメールは日本語だったので、依然として返事を日本語で書いていました
これを英語で書いていたらもっと早かったかもしれません
しかしながら、この期間の長さを利用して諦めさせるようにも見えます

今後の展開

discord は2022年4月からbotに更に厳しい制限を課すようです

具体的にスラッシュコマンドと呼ばれるメッセージ以外を
botが取得することが出来なくするようです
さらに、この制限を取り払う特権申請は認めない、とも言っています

今のbotはすべてのメッセージをbotが取得することが出来ます
すなわち、botを導入するとbotを通じてすべての書き込みを見ることが出来ます

また、メンバー一覧を直接取得できなくても、発言した人のデータを
全部保存していれば、一度でも発言をした人のリストは作ることが出来ます

そういう意味を込めて、必要以上にbotに情報を渡さない、という方針かと思われます

ただ、この制限は75台以上のサーバに導入されているbotのみらしいので
自分のサーバのみで使うようなbotには影響はないと思われるのですが、
後述する事情もあり、私は懐疑的に感じています

discord.py への波紋

私は、discordのbotを作るに当たり、discord.pyを利用しています
Pythonで記述するdiscord用のライブラリで、多くの利用者がいます

しかし、そのdiscord.py の開発中止も発表されました
理由はdiscord社とのやり取りに疲れたというふうに読めます

とりあえず、私のbotは通常のメッセージを拾う仕組みなので、
2022年4月になると連鎖的に開発停止することになりそうです

3
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2