GASからスプレッドシートの内容をランダムでSlack投稿するやつつくりました。
よくある格言BOTです。
完全自分の心の世界平和用です。
前提
・GASの触り方は知ってる(知らなくてもググればすぐ)
・スプレッドシートの作り方も知ってる(知らなくてもググれば...)
・Slack使ってる
・SlackBOTを設定してる(これだけちょっと面倒かも。でもgg....)
GAS
Google Apps Scriptで以下を作成
function kakugen() { //取得したwebhookを入力 var webhook = "https://hooks.slack.com/services/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"; //シートのURLを入力 var spreadsheet = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/10icIaIOcwkz4A2nARVAT1LYcgi2KE7u_pE8-kxJCfzs/edit#gid=0'); //シート名を入力 var sheet = spreadsheet.getSheetByName('kakugen1'); /* シートの最終行番の読み込みと乱数で行を取得する。 見出し行などを削除するために数字を足したり引いたり */ var maxRow = sheet.getDataRange().getLastRow(); var numRow = Math.floor(2+Math.random()*(maxRow-1)); var kakugen = sheet.getRange(numRow, 1).getValue(); var person = sheet.getRange(numRow, 2).getValue(); var icon = sheet.getRange(numRow, 3).getValue(); var jsonData = { "username" : person, "text": kakugen, "icon_emoji": icon }; var payload = JSON.stringify(jsonData); var options = { "method" : "post", "contentType" : "application/json", "payload" : payload }; UrlFetchApp.fetch(webhook, options); }
軽く自身の環境で使う際に変更すべき点の説明
・webhook→設定したslackのwebhook値を""の中に記入(以下から取得できる)
・spreadsheet→作成したスプレッドシートのURLを``の中に記入
・sheet→作成したスプレッドシートのシート名を``の中に記入
スプレッドシーを作る
こんな感じでつくる
ファイル名とシート名は先のスクリプトと合わせること (消してる部分は大人の事情)
実行
こんなポストされます。
まとめ
スプレッドシートからランダムでポストするやつでした。
あとは定期的に実行するようにGASのトリガーを設定すれば完成・
以上