みんなが知りやすい労働基準法のあり方　LINE Botでの制作

## <img width="27"src=https://illust-poketta.com/wp-content/uploads/2023/01/%E3%81%B2%E3%82%89%E3%82%81%E3%81%8D-1.png>労働基準法の条文を教えてくれるLINE Botのまとめ
- ##### 今回作成したのは送ってもらった言葉に対応した労働基準法の条文を送信するLINEbotです。 
 
 
- ##### 職場にてパートさんから労働問題に対しての質問をされることが非常に多かったので作成しました。
 
- ##### 作り方を順に追って記載しています。
 
- ##### 法令APIに関する失敗談も記載していますので参考にしていただけたらと思います。

　
## <img width="27"src=https://illust-poketta.com/wp-content/uploads/2023/01/%E3%81%B2%E3%82%89%E3%82%81%E3%81%8D-1.png>実際に稼働している様子

https://x.com/EvonyIvory0/status/1790376656806232351


## <img width="27"src=https://illust-poketta.com/wp-content/uploads/2023/01/%E3%81%B2%E3%82%89%E3%82%81%E3%81%8D-1.png> 全体像・制作について

![Integration LINE, HTTP _ Make - Google Chrome 2024_05_14 21_16_38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3773807/b3c073c7-1470-e1a0-ee0a-94ff08f3b002.png)

##### ひとまずこの形に落ち着きました。
HTTPとXMLはもともと主力メンバーの予定だったのですが、モジュールをスッキリさせたかったので大幅な改革の後、外れてもらいました。
このLINE Botはパートさんに使ってほしいという思いで制作しました。ネットや電話はしないけどLINEはやっているという方が多かったので(田舎・高齢化による地域特性？)このような形にしました。
##### これを使えばだれでもお手軽に労働基準法の条文を知ることができ、時間外労働の上限など簡単な内容のものを知ることができます。

 
### <img width="27"src=https://illust-poketta.com/wp-content/uploads/2023/01/%E3%81%B2%E3%82%89%E3%82%81%E3%81%8D-1.png>Google Sheetsに関して

![Integration LINE, HTTP _ Make - Google Chrome 2024_05_14 23_01_38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3773807/c77fd0a6-cdb1-2555-2325-34e59b0533a1.png)

今回、労働基準法の第一章のみを記載したスプレッドシートを使用しました。
これを作る前、内閣府が作った法令APIを使用していたのですが、スプレッドシートに打ち込んだ方が使い勝手が良かったので、こちらのやり方にしました。
##### (最後の方に理由を記述しています。参考にどうぞ。)

　
![Integration LINE, HTTP _ Make - Google Chrome 2024_05_14 22_05_58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3773807/300d4feb-1789-c3a4-689d-afdc43cbd28b.png)

スプレッドシートの内容はこんな感じです。
打ち込まれたキーワードをもとに条文を引っ張り出すシンプルな仕組みです。
被っているキーワードの存在や、ただ条文を書き出すだけになっているのでその点が課題点として見られるでしょう。
##### キーワード以外の差別化やフィルターの追加、ただ条文を書き出すのではなく例を提示したりなどが改善点としてありそうですね。

### <img width="27"src=https://illust-poketta.com/wp-content/uploads/2023/01/%E3%81%B2%E3%82%89%E3%82%81%E3%81%8D-1.png> ルーター1つ目

![Integration LINE, HTTP _ Make - Google Chrome 2024_05_14 23_01_26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3773807/799b52c4-f73e-dd5e-d7f1-e9ae93f1056b.png)

　
こちらは最初の画像で右上に設置されているルーターになります。
##### スプレッドシートにExists:実在するものはすべてこちらに流すように設定しています。
かつ、内容も一致するものをこちらに来てもらうことでアルゴリズムが成り立ちますね。


### <img width="27"src=https://illust-poketta.com/wp-content/uploads/2023/01/%E3%81%B2%E3%82%89%E3%82%81%E3%81%8D-1.png> LINE1つ目

![Integration LINE, HTTP _ Make - Google Chrome 2024_05_14 23_01_43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3773807/a5411979-ce56-3397-20a7-651e8db9bc3d.png)

　
こちらもシンプルでいいですね。
#### スプレッドシートに記載されている「内容」の欄の内容を直接書き出してもらっています。
LINEプロフィール画像をイケオジにしたので固い口調での対応を心がけました。


### <img width="27"src=https://illust-poketta.com/wp-content/uploads/2023/01/%E3%81%B2%E3%82%89%E3%82%81%E3%81%8D-1.png> ルーター2つ目

![Integration LINE, HTTP _ Make - Google Chrome 2024_05_14 23_01_30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3773807/21f63850-2cb3-9865-ce09-469e8a87cbfa.png)

　
こちらは下にあるルーターです。
存在しない「内容」はここに来てもらうことにしました。
##### 上のモジュールとは対極の関係にあると考えてもらえればわかりやすいかと思います。


### <img width="27"src=https://illust-poketta.com/wp-content/uploads/2023/01/%E3%81%B2%E3%82%89%E3%82%81%E3%81%8D-1.png> LINE2つ目

![Integration LINE, HTTP _ Make - Google Chrome 2024_05_14 23_01_48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3773807/45c34a3f-464c-fb26-49e9-14152d39cd3f.png)

　
該当しなかった場合、このメッセージを飛ばすようにしました。
シンプルでいいですね。

## 妥協した法令APIについて

今回使用しようとした[APIの仕様書](https://elaws.e-gov.go.jp/file/houreiapi_shiyosyo.pdf)ですが、私には使いこなすことができませんでした......

このAPIにはクエリパラメータが組み込まれておらず、パスパラメータのみで構成されるAPIだったので、直接LINEで送られてきたメッセージをリンクに当てはめる方式でしか出力ができなかったのです....
![Integration LINE _ Make および他 6 ページ - 個人 - Microsoft​ Edge 2024_05_21 14_18_46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3773807/b5064fd2-428d-caff-0570-0903c428d518.png)
↑クエリパラメータを打ち込む箇所

それに加えて、リンクそのものが「第三条」や「平成十五年法律第五十七号」などある程度法令に対する知識がなければ出力できないものだった(入力にそのような語句を当てはめなければならない)ので、
##### これらを加味し、スプレッドシートにまとめたものをそのまま反映させた方が早い・わかりやすい・柔軟性があると判断したため、今回、このような形となりました。

## <img width="27"src=https://illust-poketta.com/wp-content/uploads/2023/01/%E3%81%B2%E3%82%89%E3%82%81%E3%81%8D-1.png> 今回の振り返り

本当はAPIを利用したかったのですが、今回のテーマ上、使用しない方がシンプルな作りになるという悲しい宿命を背負うものだったので実に苦渋の決断でした。(テーマをもっと練るべきでした......)
ですが、時間があれば改良をしていきたいと考えていますのでよかったら応援してください。





# 参考文献

<iframe width="560" height="315" src="https://www.youtube.com/embed/LjN0VW1bg5w" frameborder="0" allowfullscreen></iframe>


似た内容を扱っている[こちらの記事](https://qiita.com/tomona23/items/95157b7fa139f746c4d2)も参考にしてください。