GASを使ったDiscord通知設定の完全ガイド
GASでDiscord通知を設定するステップ
GASとDiscordを連携して、通知を送るためにはWebhookを使うのが便利です。以下にその流れを説明します。
WebhookをDiscordで作成する
まずは、DiscordでWebhookを作成しましょう。これはGASが通知を送信するための入口となります。
Discordサーバーの設定から「Webhook」を選び、新しいWebhookを作成します。
Webhookを作成したら、送信先のチャンネルを選びます。
URLが発行されるので、それをコピーしておきましょう。
GASでスクリプトを作成
次に、GASでDiscordにメッセージを送るスクリプトを作成します。以下のスクリプトをGASのエディタにコピペしてください。
function sendDiscordNotification() {
var url = 'https://discord.com/api/webhooks/YOUR_WEBHOOK_URL';
var payload = JSON.stringify({
content: 'こんにちは、Discord!'
});
var options = {
method: 'post',
contentType: 'application/json',
payload: payload
};
UrlFetchApp.fetch(url, options);
}
上記スクリプトのurl変数の’YOUR_WEBHOOK_URL’を先ほどコピーしたWebhookのURLに置き換えます。
GASスクリプトの実行方法と注意点
スクリプトを実行することで、指定したDiscordチャンネルにメッセージが送られます。
GASエディタで[ファイル] > [実行]を選ぶことで、スクリプトを実行します。
Googleのアカウントでの作業になるため、最初に権限の承認が必要になりますが、指示に従って進めてください。
練習問題:GASを使用して特定の条件でDiscord通知を送る
以下の条件に従ってGASを使い、Discordに通知を送るスクリプトを書いてください。
- 特定のGoogleスプレッドシートの値を監視して、条件に一致したら通知を送る。
- 条件:スプレッドシートのA1セルが「送信」に変更された時に通知を送る。
練習問題の解答・解説
function checkAndNotify() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
var cellValue = sheet.getRange('A1').getValue();
if (cellValue === '送信') {
var webhookUrl = 'https://discord.com/api/webhooks/YOUR_WEBHOOK_URL';
var payload = JSON.stringify({ content: 'A1セルが「送信」に変更されました!' });
var options = {
method: 'post',
contentType: 'application/json',
payload: payload
};
UrlFetchApp.fetch(webhookUrl, options);
}
}
このスクリプトは、Googleスプレッドシート内のA1セルの値が「送信」に変更された際に、Discordに通知を送るものです。
SpreadsheetApp.getActiveSpreadsheet()は現在開いているスプレッドシートを取得します。そして、getSheetByName(‘Sheet1’)で特定のシートを指定しています。
getRange(‘A1’).getValue()でA1セルの値を取得し、その値が「送信」であるかを確認する条件分岐を設けてDiscord通知を実行しています。