【LINE Bot】ダムカード情報を教えてくれる便利なBotなんてないよな～？

![20230705_073350140_iOS.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3459001/bc312fcb-ad27-6a55-6fd0-34491b3c1f72.jpeg)
## ダムカードとは
”国土交通省と独立行政法人水資源機構の管理するダムでは、ダムのことをより知っていただこうと、平成19年より「ダムカード」を作成し、ダムを訪問した方に配布しています。”

引用元

https://www.mlit.go.jp/river/kankyo/campaign/shunnkan/damcard.html

というかなりマニアックなカードです。
私の住む道内のローカルなテレビ番組ではダムカード集め企画をしていたので
道民には意外となじみがあるかもしれません。
皆さんご存じの通り(？)ダムは人里離れた場所にあります。
行ったこともない地域の<font size="4">山奥の</font><font size="5">人けのない</font>ダムに無知識で行くのはハードルが高いです。
また、ダムカードって必ずしもダムに隣接する管理所で貰えるわけじゃないんですよね。
その地域の管理支所とかで配布していることも多いです。
なのでどこでダムカードが貰えるかの情報って非常に重要です。
## LINE Botと組み合わせてみたら便利では…？
私の場合ダムカードを収集していると、どこのダムカードを所有しているのか
わからなくなることが多々あります。
LINEは今や日々のコミュニケーションに欠かせないアプリケーションのひとつです。
そんな毎日見るLINEにダムカードの情報が表示されたらとても便利なのでは…？
というのが今回着手してみたキッカケです。<b>ちなみにLINE BotもMakeに関してもド初心者です。</b>

## 出来上がったものがコチラ
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">とりあえずカタチにはなってるので提出としよう！<br>ちゃっかりLINE Botのアイコンも変更してたり🤭<a href="https://twitter.com/hashtag/Linebot?src=hash&amp;ref_src=twsrc%5Etfw">#Linebot</a> <a href="https://twitter.com/hashtag/protoout?src=hash&amp;ref_src=twsrc%5Etfw">#protoout</a> <a href="https://t.co/klQnCDTcFO">pic.twitter.com/klQnCDTcFO</a></p>&mdash; ok-93 (@ok931024869) <a href="https://twitter.com/ok931024869/status/1676483287286714369?ref_src=twsrc%5Etfw">July 5, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

## 使用ツール
<ul>
<li><a href="https://www.make.com/">Make</a>
<li>LINE Bot
<li>Google Spreadsheets
</ul>

## 作り方
#### 下準備
Google Spreadsheetsに国土交通省が公開している配布場所一覧のXLSファイルを
取り込んでSpreadsheetsの形式にします。
配布元URL：<a href="https://www.mlit.go.jp/river/kankyo/campaign/shunnkan/damcard.html">ダムカード - 国土交通省水管理・国土保全局</a>

所有枚数などもここで管理したいので、列を追加して『所有』『所有数』の項目を作ります。
![ダムカードスプレッドシート.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3459001/74ba2868-999c-768a-3d51-b7989a1586c2.jpeg)

#### Makeのシナリオ全体図
![make.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3459001/4d1f84b4-9608-2a54-9d99-628d67e7885b.jpeg)

#### ルーターの設定
LINE Botに送られてきたメッセージ内容によって動作を分岐させたいので、ルーターを仕込みます。
![makeルーター.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3459001/06eb4b37-332e-1643-32b9-f0176b7987c8.jpeg)

それぞれの分岐条件は以下の通り。
![Makeルーター説明.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3459001/93a04b40-3210-09af-9ccb-ace5ddc64a0c.png)

#### フィルターの設定
ルーターで分岐を作ったのでフィルターを設定します。
![makeフィルター所有数.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3459001/1c6e6879-f197-1414-d2b9-1f4cd4ccdd91.jpeg)
![makeフィルターダム情報.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3459001/9df9e766-89fd-f286-4390-8a2e9f3a9fa3.jpeg)

#### Google Spreadsheetsモジュールの設定
Spreadsheetsのどこを参照するかを設定します。
まずは所有数をどこから参照してくるかの設定。
![makeスプレッドシート所有数.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3459001/ce2e9f61-8d2a-6a47-688a-e6786b3cc934.jpeg)
次にダム情報をどこから参照してくるかの設定
![makeスプレッドシートダム情報.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3459001/b65758b2-7649-4ce0-927a-3d2265c5d48f.jpeg)

#### 返信メッセージの設定
Spreadsheetsから情報を参照したので、それらを組み込んで返信メッセージを作成します。
まずは所有数の返信メッセージ
![makeリプライ所有数.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3459001/14b5976a-3a9c-33b6-35eb-b3f383f077c3.jpeg)
次にダム情報の返信メッセージ
![makeリプライダム情報.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3459001/25bda0ce-d573-3e70-1af3-60d6cf2d43e0.jpeg)

## 最後に
初めてLINE BotとMakeを本格的に触ったのですが
この程度のものなら<b>ド初心者</b>でも作れちゃいました！
ノーコードツール様様ですね。
そして自分で何かを作るって楽しいですね。

今後の機能ブラッシュアップとしては、所有カードが増えた際に
LINEから直接更新できるようにしたいと考えています。