IBM Cloud Functionsを使って定期的にSlackにメッセージを投稿する

**※当社は現在、リモートワークが推奨されています。**

# 最近、オフィスが乾くぞ？

暖房とかきいている環境にいると空気が乾燥してきます。当社では大きめの加湿器が常に稼働しているのですが、加湿器のタンクが空になってしまうこともしばしば、、、
というわけで、ある一定時間ごとにタンクの加湿を促すようなメッセージを投稿するSlackbotを作りました。
その名も「加湿くん」:smile:
<img width="159" alt="スクリーンショット 2020-03-03 13.00.23.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154110/e54d6460-7643-48b6-e76c-141eaa0bdc01.png">

彼(女?)に、毎日12時と17時に加湿用の給水タンクへの補給を促すようなメッセージを送ってもらいます。

# IBM Cloud functionsを使おう
実はIBM Cloud functionsには定期的にSlackにメッセージを投稿するためのテンプレートが既に用意されています。
今回はそのガイダンスに従って進めていきます。

## functionsを開く
IBM Cloudのポータルにログイン後、検索から`functions`を選択します。
![スクリーンショット 2020-03-03 13.03.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154110/cbf892f9-8c59-7541-30f4-b86768265426.png)

## 作成の開始
「作成の開始」ボタンをクリックして、、、
![スクリーンショット 2020-03-03 13.04.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154110/8848ac7d-abbb-e08e-df12-d5eb51259841.png)

## クイックスタートテンプレートを選択

![スクリーンショット 2020-03-03 13.06.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154110/74e262c0-f1ca-f5fe-9cc8-40cfec4e9591.png)

## 定期的なSlackリマインダーを作成
![スクリーンショット 2020-03-03 13.07.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154110/04841134-e33d-c15e-4f8c-ad4de1d65ae3.png)

## テンプレートのデプロイ
### プロジェクト名の設定とIncomming Webhookの指定
任意のパッケージ名を入力。パラメータにはSlackで取得したIncomming Webhookを設定しましょう。(Incomming Webhookの使い方は[こちら](https://slack.com/intl/ja-jp/help/articles/115005265063-Slack-%E3%81%A7%E3%81%AE-Incoming-Webhook-%E3%81%AE%E5%88%A9%E7%94%A8))
![スクリーンショット 2020-03-03 13.09.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154110/d87a8807-6fcd-66e7-0aff-b96315a3ed35.png)

### スケジュール入力
下記のGUIから実行したいスケジュールを登録しましょう。時間がUTCであることに注意してください。例えば、正午と17時にスケジュールしたいときはAM3:00とAM8:00にスケジュールする必要があります。
![スクリーンショット 2020-03-03 13.12.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154110/df4f19ea-2aea-e952-6d08-afb894ee418d.png)

右下のデプロイボタンを押せば完了です！

## メッセージのカスタマイズ方法
アクションからsend-messageを選択します。
![スクリーンショット 2020-03-03 13.16.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154110/27ee14ee-e103-f378-65e1-e41ac50bd242.png)

ソースコードが表示されるので、編集しましょう！
![スクリーンショット 2020-03-03 13.17.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154110/814c405a-95bb-f9a0-4dd4-d95a65a7e3b8.png)

これにより、時間起動でSlackに自動でメッセージが投稿されるようになりました！
<img width="268" alt="スクリーンショット 2020-03-03 13.18.36.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154110/00710c18-e51b-9927-4033-ce459f0a50e3.png">

様々なオフィスのリマインダーに、是非是非、ご活用くださいませ！

# おまけ
ちなみに、Slackのリマインドで良いじゃん！と思った人はとても鋭い人です:sweat_smile:
実は裏話がありまして、この「加湿くん」はこの仕組みを作る前に社内の加湿に貢献した人を称えるBotとして存在していました。
<img width="467" alt="スクリーンショット 2020-03-03 14.56.05.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154110/aa17085c-77ba-08f1-e7da-e3c24dc615dc.png">

これがやがて、Watson Assitantと連携して人格を持ち始め、社員たちに愛でられる(?)ように。
<img width="373" alt="スクリーンショット 2020-03-03 14.59.18.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154110/7057143a-5b5f-923b-f00c-5198fa27ee59.png">

この熱量が社員の皆さんから失われないように、定期的に「加湿くん」からの呼びかけをしようと思ったのがきっかけです。
IBM Championとしては、これをきっかけにIBM Cloudをいろんな人が楽しめるようになるといいなー、と密かに思っていたりもします:smile: