GASと連携してDiscordボットを作成するステップバイステップガイド
Discordボットを作るための基本知識
Discordボットを作るには、まずDiscord Developer Portalでボット用のアプリケーションを作成します。
ここでは、ボットトークンを取得して、ボットの設定を行っておく必要があります。
Discord Developer Portalへの登録とボットトークンの取得
Discord Developer Portalにサインインし、新しいアプリケーションを作成します。
アプリケーション内で「Bot」というタブを選択し、ボットを追加することでトークンが取得できます。
GASでDiscordボットを動かす準備
GASを利用してDiscordボットを動かすためには、スクリプトを作成する必要があります。
GASプロジェクトの作成
GoogleのG SuiteアカウントでGASのプロジェクトを作成します。
新規プロジェクトを開始し、必要なライブラリを用意します。
必要なライブラリとセットアップ
「UrlFetchApp」を使って、HTTPリクエストをDiscord APIに送る準備をします。
次は、必要な関数を作成していきます。
GASでDiscord APIを使ったスクリプト作成
GASを用いて、HTTPリクエストを送ることでDiscordボットの動作を実現します。
Discordにメッセージを送る基本スクリプト
function sendMessageToDiscord(content) {
const url = "https://discord.com/api/v8/channels/YOUR_CHANNEL_ID/messages";
const token = "YOUR_BOT_TOKEN";
const options = {
"method": "post",
"contentType": "application/json",
"headers": {
"Authorization": "Bot " + token
},
"payload": JSON.stringify({ "content": content })
};
UrlFetchApp.fetch(url, options);
}
このスクリプトは、特定のチャンネルにメッセージを送ります。
URLやトークンを送信対象に合わせて設定してください。
GASスクリプトの実行とデバッグ
プロジェクト内で、スクリプトを実行して動作を確認します。
GASのログを利用して、問題があればデバッグを行ってください。
練習問題
特定の条件(例:時間帯)に応じて、GASを使ってDiscordチャンネルにメッセージを自動送信してみましょう。
解答と解説
function sendScheduledMessage() {
const hour = new Date().getHours();
if (hour === 9) { // 午前9時
sendMessageToDiscord("おはようございます!");
} else if (hour === 21) { // 午後9時
sendMessageToDiscord("おやすみなさい!");
}
}
function sendMessageToDiscord(content) {
const url = "https://discord.com/api/v8/channels/YOUR_CHANNEL_ID/messages";
const token = "YOUR_BOT_TOKEN";
const options = {
"method": "post",
"contentType": "application/json",
"headers": {
"Authorization": "Bot " + token
},
"payload": JSON.stringify({ "content": content })
};
UrlFetchApp.fetch(url, options);
}
このスクリプトでは、時間に応じて異なるメッセージを送信します。
新しいDateオブジェクトを使って、現在の時間を取得しています。
条件に応じて、適切なメッセージを設定します。これで自動化されたメッセージ送信が可能です。