勤怠リマインドしてほしい！文系初心者のノーコードLINEbot作成録（Make）



# LINEbotって初心者でも作れるの？
こんにちは。プログラミングのプの字も分からない全くの素人です。
小売で働いており、仕事の半分は立って動いています。

企業アカウントでよく見るLINEbot。
Makeというサイトを使えば、プどころかpも知らなくてもノーコードで作れるらしい…という事で、一週間で出来る所まで挑戦してみました。

# 使用ツール
- [Make](https://eu1.make.com/ "Make")
- [SSSAPI](https://sssapi.app/ "SSAPI")
- Googleスプレッドシート
- LINE


# できた
せっかくなので実生活で欲しいbotを作成したい…。

 **そうだ、毎日の勤怠をリマインドして欲しい！！**

サービス業に関わる人ならあるあるだと思いますが、固定休みじゃ無い上、勤務の開始、終了もまちまち。日によって時間数も違ったり…。
 **明日、何時から何時までだっけ…？** 
不安で何回も勤務表を確認してしまう。
一番不安になる前日の夜に、明日の勤怠をリマインドして欲しい！
明日以外でも日付を送ったらその日付の勤怠も返して欲しいし、あと発注や客数に関わる天気も知りたい。
ついでに犬の画像も送ってもらおう。（今日のワ○コ的な）

**そんな超個人向けな要望を盛って作成した、勤怠リマインドbot**
![2022-04-22_19h49_24.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2613615/2a83d1fd-67ea-b61c-71e6-5e6225c558f8.jpeg)


**Makeシナリオがこちら**
![2022-04-22_16h13_21.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2613615/703de996-2a7a-cc2b-8432-30b8c7ff3ac3.jpeg)



**ポイント：勤怠リマインド+勤怠検索機能。Googlesheet管理なので更新、変更が簡単。**
LINEは履歴が残る＆トークの検索を出来る所が良いところだなと感じました。
メモメッセージを送っておいて後で確認したり、また日付検索で過去の天気や出勤を確認する使用方法もあると思います。


# 手順
### 使用API
- [天気API](https://weather.tsukumijima.net/ "天気API")
- [random dog API](https://random.dog/"randomdog")
ランダムで犬画像を表示してくれるAPI。他に猫も狐も柴犬もありました。かわいい。
こちらのqiita記事で多数紹介されてます。（[無料で使える (癒やされたいだけの) 公開APIリスト](https://qiita.com/e99h2121/items/6d5cc72679f43aa37be2
)）

### GooglesheetとLINEbotの連携
こちらのqiita記事を参考にさせていただきました。（[SpreadSheetで作った勤務スケジュールをLINEで通知し確認出来るようにしてみた](https://qiita.com/ACDCKAZU/items/9b3ad72a45918a269dd9
)）
※今回は日付の検索も行うため、LINE Notifyではなく普通のbotで作成しています。

**Google sheetsモジュール(Watch Rows) と　LINEモジュール（Send a Push Message）を作成し繋げます。**
モジュールで自分のGoogleアカウントと連携し、事前にアカウントにアップした勤怠の情報が入ったsheetを選択。
時計マークの設定を行って定期連絡する時間などを決定。
![2022-04-27_20h18_47.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2613615/fe697978-5790-e928-7991-ac5589b37f1a.jpeg)
LINE側の設定
![2022-04-27_20h19_48.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2613615/f97d3a8d-f7a0-b572-a0d4-93f5624209a6.jpeg)

これで毎日定期的に勤怠情報を送ってくれるようになりました！
あとは間に、天気と犬のHTTPとJSONモジュールを繋げ、自分用リマインド部分は完成です。

### sheet内の検索

リマインドbotは２つのシナリオともGooglesheetを使用していますが、上部分のシナリオはsheetをAPI化してくれるサイトを使用し、日付の検索をしています。
GooglesheetをAPI化して、JSONを返却してくれるサイト
　　[「SSSAPI」](https://sssapi.app/ "SSAPI")
`　https://api.sssapi.app/<API_ID>/<A列の値が入った変数名(LINEで送った日付テキスト)>　`
これで送った値に対する行を返してくれます。sheet管理超便利！


**勤怠を入れたGoogle sheet**
![2022-04-22_16h11_15.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2613615/dded089c-ae16-22ef-d904-b6acca7c9035.jpeg)

こちらを上記サイトでAPI化・JSON取得。
LINEで任意の日付を送ると、その行の勤怠開始・終了セル内容を呼び出します。

![2022-04-22_15h33_59.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2613615/75741a1c-8aee-1435-0a7c-0c0fc5994073.jpeg)

これで良し!と思ったのですが、
送る値が2022/4/21などの日付で、スラッシュが入ってる為JSONでエラーがでてしまいました。
その為、一度toolモジュールを挟み、URLにエンコードとやらを行う必要があるようです。

![2022-04-22_15h33_30.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2613615/2a77d594-25d6-7601-2b3b-a9cd6220534f.jpeg)
これで無事返ってきました！
スラッシュなど無ければ変換ツールは通さなくても大丈夫そう。


### 画像URLを画像で表示する
**つまずいた所メモ**
犬の画像APIを呼び出しましたが、Type部分がtextだとURLがそのまま送られてきます。
![2022-04-27_20h11_32.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2613615/009f1098-0b15-ee8a-b089-a9bdc9bdc786.jpeg)




# あとがき
まだ大部素っ気ないbotなので、これから試行錯誤してもっと色々盛り込んで実用的な物にしていけたらと思っています。
Makeのようなサイトは初めて触りましたが、ド初心者でもリマインドbotを作成できて感動しました。
今後は個人単位で誰でも簡単にノーコードで時代になるかも?！という未来を感じ楽しかった！

先人の記事やご助言が無ければ、絶対作成できなかったと思います。ありがとうございました。

- **反省点**：自分も役に立つ記録を残せれば良かったのですが、今回は感覚でやった部分も多く、うまく書き残せませんでした。
- 次はきちっとアウトプットまで出来る学び方をしていきたいです。
- **追記(2022/4/27)**:記事として少々見づらかったので、タイトルと関係の無かった最初の記載を一部削除・参照リンクなど色々追記しました。