#動機
毎朝の心の状態を良くするために、GASとSlackBotを使って、朝の占いBotを作りました。
ので、作り方を共有したいと思います。
##GASとは
Google Apps Scriptの略で、Googleが提供しているサービスの一つです。
JavaScriptで動作するスクリプト環境です。
https://developers.google.com/apps-script/
https://tonari-it.com/google-apps-script-start/
##Slack Botとは
Slack上で動くボットプログラムです。
https://ex-trident.slack.com/apps/category/At0MQP5BEF-bots
##先ずはSlackの方で連携する為の設定をします。
今回使うSlackアプリは「Incoming Webhooks」と言うものです。
Slackの「アプリを追加する」から、Incoming Webhookを選択し、設定を開きます。
そこで、このアプリを使用したいチャンネルを選びます。
Webhook URLをコピーします。このURLはGASで使います。
##GASでコードを書きます
次に、占いBotのスクリプトを書いていきます。
Google Driveを開いて、新規フォルダを作成します。
Google Driveを開いたら、「新規」から「その他」の下にある、「Google Apps Script」を選択します。
すると、スクリプトを書ける画面になりますので、そこに占い用のコードを書いていきます。
簡単に以下の様に書きました。
function FortuneTellingBot() {
var results=["No.1: 大吉","No.2: 大吉","No.3: 大吉","No.4: 大吉","No.5: 大吉","No.6: 大吉"];
var state = Math.floor(Math.random()*results.length)
var message = results[state];
var face;
switch (state) {
case 0: face = " └" + "("+"՞ةڼ◔"+")" + "」"; break;
case 1: face = " ┗┏┗┏" + "("+"'o'"+")" + "┓┛┓┛"; break;
case 2: face = " ("+"◠‿◠"+")"; break;
case 3: face = " 。゚"+"("+" ՞ةڼ◔ `゚"+")"+"゚。"; break;
case 4: face = " ("+" ̄∇ ̄"+")"; break;
case 5: face = " ("+"^O^"+")"; break;
}
var options =
{
"method" : "post",
"contentType" : "application/json",
"payload" : JSON.stringify(
{
"text" : "今日のあなたの運勢は、" + "\n" + "【 " + message + " 】" + " です。" + "\n" + "今日も一日頑張りましょう!" + face
}),
};
UrlFetchApp.fetch("https://hooks.slack.com/services/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", options);
}
占いの結果とメッセージ、そしてその日の顔文字を表示します。
UrlFetchApp.fetch("")の中に、先ほどSlackで追加したアプリ、Incoming Webhookの設定でコピーしたWebhook URLを貼り付けます。こうすることで、GASからIncoming Webhookに向けて書いたスクリプトの実行結果が送れるようになります。
スクリプトを書いたら「実行」から、「関数をデバッグ」します。今回の場合だと「FortuneTellingBot」をそのまま選択します。
そしてプロジェクトを保存。
##時間を指定します。
毎朝決まった時間帯に自動で送信して欲しいのでその設定を行います。
スクリプト編集画面の時計マークを押します、そしてトリガーを追加し、実行したい関数を選択して保存します。
トリガーを追加したら、編集をします。トリガーにカーソルを合わせ、鉛筆マークを押します。
「時刻を選択」と言う項目があるので、午前9時~10時(好きな時間帯)を選択して保存します。
これで、毎日その時間にスクリプトが実行される様になりました。
##動作確認
上手くいきましたね。
毎朝大吉なら毎日ハッピーですね。
プラシーボ効果とかあるし。
...
以上になります。
お疲れ様でした。
##最後に
GASを使ってGoogleのカレンダーとかと連携させて普段の暮らしや業務をよくできますね。
いいね。
##参考にした記事
【初心者向け】GASを使ってSlackへ自動通知
https://qiita.com/chihiro/items/c7b11abc78f5d806c3a8
Slack botをGASでつくる方法で一番楽そうなやつ
https://vaaaaaanquish.hatenablog.com/entry/2017/09/27/184352