割と言われたことは覚えるタイプなのですが、ふとした時にいろいろなことを忘れてしまうところがあります。
「家出る時に洗濯乾燥機を回してから出社しよー!」って考えて、いろいろ準備して、さて家出るぞってなった時には全て忘れている。
洗濯しないとパンツの替え無いのに。なんて時ありますよね。
そんなパンツの話です。(嘘です)
今回はslackを使って時間指定でくるリマインダーbotを作成していきます。これを作成することによって毎日6時に「さあ、定時です。帰宅の準備をしましょう。」という感じのリマインダーを作ることができます。
早速作っていく
まずslackを使用している前提で話を進めていきます。slackさえ使用していれば別にコードが書けなくたってコピペで全部まかなえます。
slackで自分専用のチャンネルを作成します。複数人いるチャットでもいいのですが、今回は自分専用のbotなので参加人数は一人で、プライベートにしておきます。
こんな感じでチャンネルが作成できたら画像の真ん中あたりにある「+アプリを追加する」をクリックします。
そうしたら検索窓に「Incoming Webhook」をタイプして、インストールしてください。
ブラウザが立ち上がります。ので気にせずインストール。こんな感じ。
チャンネルを選択します。僕の場合は「俺メモ」ですね。
インテグレーションをインストールします。
こんなページに行きます。
Webhook URLというのが重要なのでメモしておいてください。
この画面でアイコンなどを変更できます。ぜひ可愛い猫のアイコンとかにしてみてください。
実際にbotから投稿してみる
設定が完了しましたので、実際にbotから投稿してみようと思います。
Googleのアカウントがあれば簡単に行うことができます。今回はGAS(Google Apps Script)というものを使用していきます。
※Googleのアカウントにログインしていることを前提とします。
スプレッドシートを開いて適当に「slack bot」と命名し、作成してください。
するとこんな感じの何にも書いていないスプレッドシートができます。
そうしたらツールから「スクリプトエディタ」を選択。こんな感じ。
そしたらここに以下のコードを書いてください。
function myFunction() {
var options =
{
"method" : "post",
"contentType" : "application/json",
"payload" : JSON.stringify(
{
"text" : "おはようございます!"
}
)
};
UrlFetchApp.fetch("https://hooks.slack.com/services/xxxxxxxxxxxxxxxxxxxxxxxxxxxx", options);
// ↑ここは自分のWebhook URLに書き換える
}
そうしたら先ほどメモしておいたWebhook URLを今書いたコードの一番下のところに書いてください。
これでで完成です。
ここの三角形をクリックすると「許可してください」的なやつが出るんでOKOKしていくと。先ほど作成したチャンネルに「おはようございます!」と通知来ます。
ここから時間指定していきます
もう少しなので頑張ってください!
時間設定
以下の画像の赤枠部分をクリックすると時間設定をすることができます。
画面遷移をしたらトリガーを追加していきます。
右下のトリガーを追加します。
1つづつ設定していきます。
・実行する関数を選択
多分1つしか無い
・実行するデプロイを選択
多分1つしかない
・イベントのソースを選択
何を使ってチャットを送信させるかということです。時間主導型にすると指定した日時でチャットが来ます。
・時間ベースのトリガーのタイプを選択
どんな時送るか指定。毎日か月毎か。
・時刻を選択
何時に送るかというやつ。細かい時間指定ができないのが難点。午後5時から6時の間のいつかにチャットが来ます。
で保存するとこんな感じ。
で完成!
まとめ
例えば毎日10時から朝ミーティングがあるなんて場合には9時から10時の間にbotから「朝礼があるので準備してください」なんてくると忘れている時に便利ですよね。
slackのbotにはもっとたくさんの機能がありますので発掘できたら記事にしていきます。