0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【自分用】DiscordBotの作成と24時間運用

Last updated at Posted at 2025-03-16

DiscordBotの作成方法

Discord Developer Portalにアクセスする
New Applicationをクリック
1.png
好きな名前を入力しCreateをクリック
2.png
左側のInstallationをクリックし一番下まで行く
Guild Installの欄のSCOPESbotを追加しPERMISSIONSAdministratorを追加する
3.png
左側のOAuth2をクリックしClient informationの欄にあるCLIENT IDをコピーしてメモしておく
4.png
左側のBOTをクリックしTOKENの下にあるReset Tokenをクリックする
5.png
でてきたトークンをコピーしメモしておく(トークンは絶対に他人に見せない)
6.png
真ん中あたりまでスクロールしPrivileged Gateway Intentsの欄をすべてONにする
(お好みで上のAuthorization FlowPUBLIC BOTをONにする)
7.png

DiscordBotを招待する

下記のリンクのclient_id= の後(ClientID_hereの部分)に先ほどコピーした CLIENT IDをいれて自分のDiscordサーバーからアクセスする。

https://discord.com/oauth2/authorize?client_id=ClientID_here&permissions=8&integration_type=0&scope=applications.commands+bot

アクセス例
8.png
招待するとこのようなオフラインのボット君がサーバーに来る
9.png

GlitchとBotのプロセス

Botの処理及び運用はGlitchで行う
アカウントがない場合は作成しておく
こちらのテンプレートに飛び右上のRemixをクリックしプロジェクトをコピーする
10.png
プロジェクトをコピーし終わったら環境変数(.env)にClient IDTOKENを入力する
入力が終わったら右上のShareをクリックする
(今回はコマンドを追加せずデフォルトのままだが追加したい場合はCommandディレクトリ配下にjsファイルを追加する)
11.png
下にある2つのリンクのうち上のリンク(Live Site)をコピーしメモしておく
12.png

Botをビンタし続ける(24時間運用)

Glitchのプロジェクトは一定時間操作がないとスリープ状態になるので
Botをどうにかして起こし続けなければいけません(鬼畜)
そこでGoogle様が提供しているGoogle Apps Scriptから定期的にリクエストを送信し、サーバーのスリープを阻止します。
リンクに飛び新しいプロジェクトをクリック
13.png
以下のスクリプトをコピーしてコード.gsにペーストした後
1行目のGLITCH_URL=""の後に先ほどコピーしたリンク(Live Site)を貼り付けます

var GLITCH_URL = "Glitchのリンクをここへ";
function wakeGlitch(){
 var params = {
   'contentType' : 'application/json; charset=utf-8',
   'method' : 'post',
   'muteHttpExceptions': true
 };
 response = UrlFetchApp.fetch(GLITCH_URL, params);
}

14.png
これだけでは起こし続けられないのでトリガーを設定します
左側からトリガーをクリックして右下のトリガーを追加をクリック
15.png
下画像の赤枠部分を変更する
時間ベースのトリガータイプを選択を分ベースのタイマーに設定
時間間隔を選択(分)を1分おきに設定
設定後保存を押しトリガーが作成できているか確認する
16.png
これにより1分毎にリクエストを送信する仕組みが完成した
17.png

Googleにサインインを求められた場合

自分のアカウントにログイン
20.png
このような警告文が出た場合は左下のAdvancedをクリック
(出ない場合は下にスクロールしてAllowをクリック)
21.png
この文字が出てきたらGo to ~(プロジェクト名)unsafeをクリック
その後下にスクロールしてAllowをクリックすればトリガーが作成できる
22.png

動作確認

Botがオンラインになっていてコマンドに反応したら成功!!
18.png
19.png

0
1
0

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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?