GASで自動化!Discordメッセージを送信する方法
GASでDiscordへのメッセージ送信を始める方法
まず、GASとDiscordを連携させる準備をしましょう。Discordでは、Webhookを使ってメッセージを簡単に送信することができます。
DiscordでWebhookを設定する
最初に、DiscordでWebhookを作成する必要があります。
Discordサーバーの設定から、Webhookを設定できるチャンネルを選びます。
Webhook URLを取得してメモしておいてください。
GASプロジェクトを作成する
次に、GASプロジェクトを始めます。
GASを開き、新しいプロジェクトを作成します。
以下のコードをプロジェクトに貼り付けてください。
function sendDiscordMessage() {
const url = 'YOUR_DISCORD_WEBHOOK_URL';
const payload = JSON.stringify({ content: 'Hello from GAS!' });
const options = {
method: 'post',
contentType: 'application/json',
payload: payload,
};
UrlFetchApp.fetch(url, options);
}
このコードを保存して実行すると、指定したDiscordチャンネルにメッセージが送信されます。
メッセージ送信に使うGASコードの解説
このスクリプトがどのように動作するかを詳しく説明します。
UrlFetchApp.fetch()を利用する
Webhook URLにPOSTリクエストを送るために、UrlFetchApp.fetch()を使います。
- method: 使用するHTTPメソッドを指定します。ここでは’POST’を使用します。
- contentType: 送信するデータの形式を指定します。JSON形式を使用しています。
- payload: メッセージの内容を指定します。JSON.stringifyでオブジェクトをJSON形式に変換しています。
Webhook URLとpayloadが正確であることを確認してください。
練習問題
以下の要件を満たすGASスクリプトを作成してください。
- DiscordのWebhook URLを用意する
- 異なるメッセージ内容を送信する関数を作成する
- 関数名をsendCustomMessageとしてください
- 送信するメッセージを関数の引数として渡してください
解答・解説
function sendCustomMessage(message) {
const url = 'YOUR_DISCORD_WEBHOOK_URL';
const payload = JSON.stringify({ content: message });
const options = {
method: 'post',
contentType: 'application/json',
payload: payload,
};
UrlFetchApp.fetch(url, options);
}
このスクリプトでは、DiscordのWebhook URLを使い、メッセージを送信するGAS関数を作成しています。
関数sendCustomMessageは、引数messageを受け取り、その内容をDiscordへ送信します。
関数内で、UrlFetchApp.fetch()を使用し、Webhook URLに対してPOSTリクエストを送るロジックが組まれています。