誰でも作れる!Discord Bot 2024(初期設定編)

この note では

・誰でも簡単
・自前のサーバーやPC無しで、24時間オンライン
・自分専用のオリジナル(公開もできる)

な Discord Bot の作り方を紹介します!

4年前に「誰でも作れる!Discord Bot(基礎編)」という note を書きましたが、内容が古くなってしまったのでリニューアルすることにしました。

リニューアルにより手順がもっと簡単になりました!
コードもしっかり書き直したのでカスタマイズもしやすくなりました。

この記事で紹介している Bot「MiniPotato」の Discord サーバーでは、紹介している Bot を実際に操作できます。
要望や質問等も可能な範囲で受け付けていますので、お気軽にご参加ください!
https://discord.gg/UDf4R5fgqr

リンク

構成

discord.js v14.14.1を利用。
Glitch にて Discord Bot を実行。
Google Apps Script から POST することで起動状態を維持しています。


1. Discord 上の Bot の作成

https://discord.com/developers/applications から、Discord のアプリケーションを作成します。


1.1 右上の New Application を押す


1.2 アプリの名前(なんでもOK)を入力して Create を押す


1.3 Installation ページで設定を行う

1.3.1 Install Link で Discord Provided Link を選択

1.3.2 Default Install Settings の SCOPES で「bot」を選択

1.3.3 Default Install Settings の PERMISSIONS で権限を選択
身内向け・自分用であれば「Administrator」でOK
公開するBotの場合は、必要な権限を選択してください。

1.3.4 右下の Save Changes をクリック


1.4 Bot ページで設定を行う

1.4.1 Build-A-Bot -> ICON と USERNAME を設定する
ここで設定したものが、Discord 内に反映されます。

1.4.2 Authorization Flow -> PUBLIC BOT を設定する
有効にすると、だれでも Bot をサーバーに追加できます。
無効にすると、Bot をサーバーに追加できるのが自分だけになります。

1.4.3 Privileged Gateway Intents -> MESSAGE CONTENT INTENT を有効化する
Botで一部の情報を取得するためには、対応する Privileged Gateway Intents を有効化する必要があります。
私が公開しているサンプルでは、MESSAGE CONTENT INTENT を有効化してください。

1.4.4 右下の Save Changes をクリック


1.5 必要な情報をコピーしておく

1.5.1 Bot -> TOKEN からトークンを取得
Reset Token を押すと、トークンを取得できます。
後ほど使うので、コピーして控えておいてください。
※このトークンがあると Bot を操作できてしまいます。絶対に公開しないでください!
※万が一公開してしまった場合は、もう一度 Reset Token を押すことで以前のトークンを無効化することができます。

1.5.2 General Information -> APPLICATION ID をコピー


1.6 Bot をサーバーに追加する

1.6.1 Installation -> Install Link から URL をコピー

1.6.2 URLをブラウザで開いて、Botを追加したいサーバーを選ぶ


2. Glitch の設定

https://glitch.com/dashboard から、Glitch の設定を行います。


2.1 アカウント作成

右上の Sign up からアカウントを作成してください。
Google でログインするのが楽です!


2.2 プロジェクトを Remix する

プロジェクトを Remix することで、プロジェクトを自分のアカウントにコピーできます。
https://glitch.com/~minipotato-bot-by-eoi にアクセスして、右下の「Remix your own」を押してください。


2.3 初期設定を行う

2.3.1 トークンを設定する
手順 1.5.1 でコピーしたトークンを、「TOKEN」の右側の空欄に入力してください。

2.3.2 アプリケーション ID を設定する
手順 1.5.2 でコピーしたアプリケーション ID を、「APPLICATION_ID」の右側の空欄に入力してください。


2.4 動作を確認する

下にある「📝LOGS」をクリックすると、プログラムの出力を確認することができます。
正しく設定されていれば、「<Botの名前> がログインしました!」と出力され、Discord 上の Bot もオンラインになります。

2.4.1 コマンドを実行してみる
試しに「/nyan」と入力して、コマンドを実行してみましょう。Botがリプライしてくれます。
ちなみに、テキスト入力欄の左側のプラスマークから「アプリを使う」を選ぶことで、コマンドの一覧を確認できます。


3. Google Apps Script の設定

現状では、Glitchのサーバーが勝手に休眠状態になってしまうので、Google Apps Scriptから定期的にアクセスを行うことで休眠しないようにします。


3.1 Google Apps Scriptのプロジェクトを作成する

左上の「新しいプロジェクト」を押して、プロジェクトを作成します。
「無題のプロジェクト」を押すとプロジェクトの名前を編集できるので、わかりやすい名前を設定するのがおすすめです。


3.2 ソースコードを入力する

3.2.1 Glitch アプリの URL をコピーする
アプリケーションの URL は、Glitch のプロジェクト画面の Share から確認できる、「Live site」に書かれている URL です。
これをコピーしてください。

3.2.2 ソースコードを入力し、保存する
元のコードをすべて消し、以下のコードを入力してください。
また、画像のように、URL を " " の間に入力してください。

入力後は左上のフロッピーマークを押して保存してください。

var GLITCH_URL = "コピーしたURL";
function wakeGlitch(){
 var params = {
   'contentType' : 'application/json; charset=utf-8',
   'method' : 'post',
   'muteHttpExceptions': true
 };
 response = UrlFetchApp.fetch(GLITCH_URL, params);
}

3.3 トリガーを設定する

3.3.1 左の目覚まし時計アイコンを押し、トリガーページを開きます。

3.3.2 右下の「トリガーを追加」を押し、画像の通りに設定してください。
「分ベースのタイマー」「1 分おき」を選択してください。

3.3.3 許可を求められるので、許可します。
Googleアカウントを選択後は、画像のように「詳細」→「プロジェクト名に移動」を押して、許可


3.4 Glitchプロジェクトの「📝LOGS」からログを確認し、「Received POST request.」というログが1分に1回出ていれば設定完了です!


4. まとめ

これで初期設定は完了です!

コマンドの解説は「Discord Bot「MiniPotato」の紹介!🥔」をご参照ください!
カスタマイズ方法については「誰でも作れる!Discord Bot 2024(カスタマイズ編/初級)」以降の note をご参照ください!🙇‍♂️

MiniPotato Bot の Discord サーバーでは、紹介している Bot を実際に操作できます。
要望や質問等も可能な範囲で受け付けていますので、お気軽にご参加ください!
https://discord.gg/UDf4R5fgqr


この記事が気に入ったらサポートをしてみませんか?