LoginSignup
5
11

More than 3 years have passed since last update.

【Slack】SlackでBotを開発する【GAS】

Last updated at Posted at 2020-05-08

Slackのアプリ「Incoming Webhook」を使用したBot開発の手順を紹介します

Incoming Webhookの準備

SlackのサイドバーのAppから「Incoming Webhook」を検索、クリックします


image.png
「Slackに追加」をクリックします


image.png
Botで送信したいチャンネルを選択します
Incoming Webhookインテグレーションの追加をクリックします


image.png

Bot名、アイコン等を設定できます
基本的にはデフォルトのままで問題ないです!
「Webhook URL」のみ控えておく必要があるため、urlをコピーします


image.png
一番下へスクロールし、「設定を保存」ボタンをクリックします


GASの実装

GoogleAppScriptの実装へ入ります

image.png
GoogleドライブからGoogleAppScriptの新規作成をします

slack.gs
// ワークスペースのURL
var postUrl = 'ここにWebhook URLを入力する';

/*
* slackへメッセージを送信する
* 参考
* https://qiita.com/chihiro/items/c7b11abc78f5d806c3a8
* 
* @param {string} username - 通知時に表示されるユーザー名
* @param {string} icon - 通知時に表示されるアイコン
* @param {string} message - 投稿メッセージ
*/
function sendSlack(username,icon,message,channel) {
  var jsonData =
      {
        "username" : username,
        "icon_emoji": icon,
        "text" : message,
        "channel": channel,
      };
  var payload = JSON.stringify(jsonData);

  var options =
      {
        "method" : "post",
        "contentType" : "application/json",
        "payload" : payload
      };

  UrlFetchApp.fetch(postUrl, options);
}  

↑のコードをコピペします
postUrlの部分のみ自身の環境に合わせてください

動作確認

slack.gs
function testSend() {
  sendSlack('テストBot名',':man-gesturing-ok:','テストメッセージを送信しています','#general');
}

↑のメソッドを実行するとSlackへテストメッセージが送信されます

「承認が必要」と出たら…

【GAS】GASのスクリプトの初めての実行【初心者】
https://qiita.com/SyogoSuganoya/items/397a8bbb1636c3f43524

こちらの記事を参考に承認操作を行います

5
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
11