はじめに
Discord Bot 作成の最初の躓きポイントとして、
アカウントの作成、サーバーへの登録、権限の設定などがありますが、
この記事ではそれらをまとめて解説します。
また、記事内でID等を晒していますが、
削除済みのBotアカウントの情報のため安心してお読みいただけます。
アカウントの作成
まずは DEVELOPER PORTAL にログインします。
モーダルウィンドウが開き、Bot(Application)名の入力を求められるので、
入力して「Create」をクリックします。
Bot(Application)アカウントの作成が完了し、
アカウントの管理画面が表示されます。
アイコンの設定
Bot の顔となるアイコンの設定をしましょう。
アカウント管理画面の APP ICON をクリックして、
アイコン画像をアップロードします。
アップロード時にトリミングはできないので、
事前にちょうどいいサイズに整形しておきましょう。
アップロードが完了したら「Save Changes」をクリックして反映させましょう。
反映後にアイコンを削除したい場合には APP ICON 下の「Remove」から。
アイコンの反映が完了すると
「All your edits have been carefully recorded.」
と表示されます。
Bot の初期設定
左の SETTINGS 欄の「Bot」をクリックします。
Application を Bot ユーザとして可動させる必要があるため、
「BUILD-A-BOT」右の「Add Bot」をクリックします。
「Bot ユーザとして稼働させると二度と元に戻せないよ!」
というメッセージとともにモーダルウィンドウが表示されますが、
問題ないので「Yes, do it!」をクリックします。
Botユーザ化が完了すると、
「A wild bot has appeared!」というメッセージが表示され、
Botのユーザハッシュタグ(#3297)やアクセストークンなどが確認できるようになります。
アクセストークンの取得
アクセストークンはプログラムからBotを操作するために必要な文字列です。
「TOKEN」の下の「Reset Token」をクリックするとアクセストークンをコピーできます。
必要な箇所にペーストして使用してください。
(クリックすると以下のようにモーダルウィンドウが表示されます)
2段階認証をしている方は以下のようなモーダルウィンドウが表示されるので、
6-digit authentication codeに2段階認証のコードを入力して、
「Submit」をクリックしてください。
(バックアップコードは使用できません。)
「Copy」をクリックするとアクセストークンをコピーできます。
「Reset Token」からトークンの再発行が可能ですが、
再発行前のトークンが全て無効になるので注意してください。
(クリックすると以下のようにモーダルウィンドウが表示されます)
※ アクセストークンは知られるとBotが乗っ取られる危険性が高いため、
必ず誰にも見えない場所に保存してください!
トークンを記述したプログラムを公開して流出するケースが頻発しています。
サーバへの登録
左の SETTINGS 欄の「OAuth2」をクリックします。
「OAuth2」をクリックしたら SETTINGS 欄の「OAuth2」の下にURL Generatorが表示されるので、
クリックします。
「OAuth2 URL Generator」から、参加させるための認証 URL を発行できます。
「SCOPES」内の「bot」にチェックを入れると、
認証 URL が生成されるので Copy をクリックしてコピーします。
コピーした認証 URL にアクセスすると以下のような画面が開くので、
追加したいサーバーを選択したのち、右下の「認証」をクリックします。
※ 自分が管理者権限を持っているサーバーのみ選択できます。
スパム対策のための認証画面が開くので、チェックボックスをクリック。
Discordサーバー側でも参加できていることが確認できます。
Botの権限設定
Bot を Discord サーバーに追加する前と後で設定方法が変わります。
ロールで権限を設定する
一般ユーザと同じ方法でBotの権限を設定します。
左のメニューからロールを選び、
ロールリスト右上の+をクリックして新規ロールを作成します。
名前と色を設定し、必要に応じて権限をONにしましょう。
とりあえず試すなら管理者をONにしておくのが手っ取り早いと思います。
設定後に「変更を保存する」をクリックするのを忘れずに。
ロールが用意できたら、Botアカウントをクリックしてプロフィールを表示し、
+ボタンからロールを追加しましょう。
プロフィールにロール名が表示され、色が反映されたら完了です。
認証URLで権限を設定する
「OAuth2」内の「OAUTH2 URL GENERATOR」で、
「SCOPES」内の「bot」にチェックを入れた後、
画面を下にスクロールすると、権限設定が表示されます。
必要な権限にチェックを入れると、認証URLが変化して権限が反映されます。
権限を設定した認証URLにアクセスすると、以下のような画面が表示されます。
ここで各権限をOFFにすることも可能です。
DiscordサーバーにBotを追加すると、Botと同じ名前のロールが付与されます。
ロール設定を開くと、このロールについての注意書きが表示されています。
この特殊なロールは他のメンバーに付与したり、削除することはできません。
ただし、権限の変更は通常と同様に可能です。
ロールの並び順に関する仕様
Discordサーバーで複数のロールを管理する場合、
どのロールがどの位置にあるかはとても重要です。
単に見栄えだけの問題ではありません。
以下の場合、上から assistant
Echidna
test
という並びになっていますが、これは
assistant が最も権限が強く、testが最も権限が弱い
ことを意味しています。(everyoneは特殊なので除いています)
仮に test
がロールの管理権限を持っていたとしても、
assistant
ロールを削除することも、ユーザに付与することもできません。
以上を踏まえて、並び順はよく考えて設定しましょう。
Botの配布
「サーバへの登録」 にて紹介した認証URLを発行して公開します。
必要な権限も認証URLに設定しておきましょう。
また、「Bot」内の「PUBLIC BOT」がデフォルトでONになっていますが、
これをOFFにすると自分だけが Discord サーバーに Bot 追加できるようになります。
Botの管理
作成した各Bot(Apllication)はDEVELOPERポータルから管理画面にアクセスできます。
必要に応じて適宜設定を更新しましょう。
おわりに
Discord ではユーモアに溢れた様々な文言が表示されるため、
それらを楽しみながら各作業を行えるのが良いところだと思います。
(もちろん英語が読めることが前提ですが)
DEVELOPER PORTAL の UI は頻繁にアップデートされるため、
定期的に確認して記事を更新していきますが、
更新漏れや不備などがあれば編集リクエストやコメントを頂ければと思います。
また、現状では様々な Discord Bot 関連の記事の冒頭で
Botアカウント作成手順の記述が乱立していますが、
以後こちらへのリンクを貼ることで記事の軽量化ができれば幸いです。