📚

Slackに自動で猫の画像を送る(GAS+APIでさくっと作る)

2021/05/20に公開

どんなApp(Bot)?

定期的に

  • 猫 🐈
  • 犬 🐕
  • キツネ 🦊

のランダムな画像をslackの特定のチャンネルに送信する。

Google Apps Script(GAS)

Slack API

ざっくり解説

Slack側でやること

  1. SlackAppの作成
  2. WebHookURLの発行

Slack側でメッセージ受信するためにWebHookURLの設定を行う。

GAS側でやること

  1. 定期的に実行するスクリプトの作成
  2. GASのトリガー設定

トリガー設定でどのくらいの頻度で、メッセージを送信するか設定できる。

1.Slackアプリをつくる

こちらのサイトを見ながら作成。
割愛します。

https://auto-worker.com/blog/?p=2904#toc_id_2

https://tektektech.com/slack-gas-auto-notice-bot/

2.WebHookURLを作成する

Incoming WebHooksとは

Incoming WebHooksというSlackのサービスを使う。
👇
WebURLが発行される。
👇
発行されたURLにPOSTする
👇
Slackへ投稿!

Incoming WebHooksを使うには

  1. 「機能」ページで「Incoming Webhook をアクティブにする」をオンにする
  2. 「新しい Webhookをワークスペースに追加する」をクリック
  3. アプリの投稿先のチャンネルを選択して「許可する」をクリック

公式サイト

3.GASのスクリプトの作成

Google Apps Scriptを開く

Gmailアカウントや、会社のGmailアカウント等でGoogleドライブの画面を開きます。
(chromeなら左上のほうに「アプリ」のアイコンがあるはず…!)

Googleドライブ
👇
その他
👇
Google Apps Script

でGASのスクリプトを作成できます。

APIをよびだしてSlackへ送信

ランダムに画像を送信するためにAPIを使います。

🐈 猫 RANDOMCAT

🐕 犬 shibe.online

🦊 キツネ RANDOMFOX

猫の画像を送信する


function autocat() {
  // APIの呼出し
  const url ='https://aws.random.cat/meow';
  const rescat = UrlFetchApp.fetch(url);

  Logger.log(rescat);// ログで確認

  // JSON形式に変換
  catJSN =JSON.parse(rescat.getContentText());

  Logger.log(catJSN);// ログで確認

  // 画像のURLを取得
  catimg = catJSN.file

  Logger.log(catimg);// ログで確認

  // 投稿するコンテンツの作成
  const jsonData =
  {
    "username" : "ユーザ名てすと",
    "icon_emoji": ":Cat:",
    "attachments" : [{
      "fields": [
        {
          // 任意のタイトルとコメントに設定
          "title": "ねこ",
          "value": "ここは画像の説明を記述できます。",
        }
      ],
          // APIで取得した画像のURLを設定する
      "image_url": catimg
    }]
  };

  const payload = JSON.stringify(jsonData);

  // リクエスト内容
    const options =
  {
    "method" : "post",
    "contentType" : "application/json",
    "payload" : payload
  };
  //投稿先
  UrlFetchApp.fetch("各自のSlackWebHookURL", options);
}

犬の画像や、キツネの画像も似たようなコードで動作します。

各APIによって、データの形式異なるのでログを見て確認しながら画像URLを取得します。

スクリプトの実行

「Ctrlまたはcommand」+「S」で保存します。

「実行ボタン」を押して実行します

実行ボタンを押すとエラーが出るので、下記の記事を見ながら対処。

他にも
gas スクリプト 実行 警告
なんかでググると良いかと思います。

https://paya02.com/it/google-apps/approval

上手くいけば指定したチャンネルに画像が送信されているはずです。


猫


4.スクリプトのトリガーの設定

左側の時計マークをクリック
👇
トリガーの設定画面が開く
👇
右下の「トリガーを追加」をクリック

  • 実行する関数
  • 実行する頻度

の設定をして「保存」を押します。

5.まとめ

動物の画像で癒しを……!!

他のAPIでも応用できそう。

Discussion