GASで自動化!Discordメッセージを送信する方法

Discordにメッセージを自動で送信できたら、チームのコミュニケーションがもっと楽になるんだけど…どうしたらいいんだろう?
猫男
猫男
catman
catman
よし、catmanが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へのメッセージ送信ができるんだね。
猫男
猫男
catman
catman
その通り!これからどんどん応用していこう。

練習問題

以下の要件を満たす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リクエストを送るロジックが組まれています。

これで僕も、リアルタイムでチームに通知を送れるね!ありがとう、catman!
猫男
猫男
catman
catman
無事にできて良かった。これからもGASを使って便利なスクリプトをどんどん作るといいさ!

EARTHPG 自動化研究所

「その作業、仕組みにできます。」

Google Apps Script、Python、スプレッドシート自動化、WordPress開発、 API連携、AI活用まで対応。 小さな自動化から業務全体の設計まで、研究所が支援します。