いろんな情報まとめて1発！ワンショットリストアクセスbot

# ｲﾝﾄﾛﾀﾞｸｼｮﾝ。

みなさんこんにちは。ぼくは某企業で新しくECサイトをつくっています。
ECサイトをつくる、といっても自分がつくるわけではなく(つくれません)
これから出来上がるものの開発に携わっている、という感じです。

*詳しくは[こちら](https://note.com/junwooseishun/n/n0bbeb252c28e)をご覧ください📒noteに飛びます✈

サイトが出来上がってからは販売する商品を考えて、仕入れて、ということを
するわけなのですが、今まさにその準備の真っただ中。

普段各仕入先やブランドをリストで管理しているのですが、
商品や会社の情報を得たいとき、ホームページだけを見るというよりは
InstagramなどのSNSを見ることも多くて、会社名とブランド名は
当然違うしSNSのIDもまた別にあるしで情報がたくさんあるので
混乱してしまうことが多いんです。

そこで、もし会社の名前かブランドの名前を入れたら一発で
全部の情報を教えてくれる、そんなbotがあったらうれしくない？
と思い試しに作ってみることにしました。

ちなみに名前につけた「ワンショット」は
韓国語の『원샷(ｳｫﾝｼｬｯ)』=一気飲みからきています。
ダサいって言わないでください。

# 完成品はこちら🎬
https://x.com/junwooseishun/status/1810599924683378835

堂々と名前の由来を語ったにしては
表示されてるbotの名前が違います。
何も考えずつけてしまい変更ができません。
でも、ワンショットリストアクセスbotっていいます。
ダサいって言わないでください。

# 使用ツール🧰

[Make](https://www.make.com/en)
[LINE Developers](https://developers.line.biz/ja/)
[Canva](https://www.canva.com/)
Googleスプレッドシート

参考資料
[プログラミング未経験者歓迎! Makeで作るノーコードLINE Bot入門](https://www.youtube.com/live/LjN0VW1bg5w?si=AecGdi2KZorhd4Ws)

# Makeの構造🔍


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3810257/b415a3c8-c42c-006e-d132-33f720454f83.png)

こちらがMakeの全体図。

## 使用したスプレッドシート📊
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3810257/f6ee595c-9a71-fbd6-256c-9b050dae36ba.png)

スプレッドシートは実際に使っているリストに近いものを別で作成。
【企業名】【ブランド名】【Instagram ID】【フォロワー数】など記載しています。
ここに書かれている情報をまるっと整理して即返信してもらいます☝

## 分岐_条件①🔧
まずbotに送られたメッセージがテキストであり、かつリスト内に
botで送った内容に合致する企業名もしくはブランドが存在する場合を設定しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3810257/3e966066-e25d-f5c2-54e4-173f68a5f021.png)

:::note info
指定条件
・メッセージがテキストであり画像やスタンプでないこと
・リスト内に送信された【企業名】【ブランド名】が存在すること

 :::

## 分岐_条件②🔧
次に、botに送られたメッセージがテキストではあるものの
リスト内にないものが送られてきた場合の設定をしました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3810257/52ed0b7d-675a-afdd-d15b-d6e4183b61ca.png)

:::note info
指定条件
・メッセージがテキストであり画像やスタンプでないこと
・リスト内に送信された【企業名】【ブランド名】が存在しないこと

 :::

## 返答メッセージ①💭
条件の設定の次は、botに送られたメッセージが条件①に当てはまった場合の
返答メッセージ①を設定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3810257/74db839b-d170-3b55-8a8a-a903dfc26301.png)


返答メッセージは全部で2通

・【botに打ち込まれた内容をそのまま記載】
・【ブランド名】
・【企業名】
・【Instagramフォロワー数】
・【ホームページのURL】
を記載した1通と今回実現したかったことを叶えるため
【Instagram ID】のみ別でもう1通送るよう設定しました。

## 返答メッセージ②💭

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3810257/39f0916d-a737-7f9e-f4e3-1d3f483da68c.png)

反対にbotに送られたメッセージが条件①に当てはまったらなかった場合の
返答メッセージ②を設定します。

リストにないものが送られてきた場合はテキストで
「一致するブランド,企業はありません」という文言が送信されるようになりました。

:::note warn
補足
え、分岐3つあるよ？と思った方もいらっしゃいますよね。
分岐③はテキストではないものを送ってこられた場合の設定用につくりました。
リストに存在しない内容が送られてきた場合のbotの返信を
「その単語はリスト内にありませんよ！」としたい反面、
リスト内を探す行為でないテキスト以外の何かを送った場合には
単純に「エラーです！」と返したくてこの分岐をつくりました。

:::

# リッチメニュー🖱
続いて、リッチメニューの設定をしていきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3810257/50a1e75a-462d-48da-18fe-3df4b1a7d9f1.png)

左カラムにあるリッチメニューを選び、メニューを押してどのような
アクションができるようになるか設定します。

ぼくは2分割にし、左にはこのbotのおおもととなっているリストを、
右にはInstagramにすぐ飛べるようそれぞれリンクを設定しました。

menuの画像はCanvaを使ってあっという間に完成！

![Screenshot_20240706_171548_LINE.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3810257/03880ae4-1f0e-4119-1372-578be2b59eb3.jpeg)

このようにLINE botの下部にメニューが表示されるようになりました。

先ほど返答メッセージでInstagramのIDだけ別でもう1通送るようにしました。
これには理由があって、一緒にお仕事をする会社の方とのやりとりの際
各アカウントのURLをそのまま送ると長かったりするせいかIDだけを
抽出して羅列することが頻繁にあるんです。
そんなときにこの返答メッセージでInstagramのアカウントのURLを
そのまま返してしまうとIDの部分だけをコピーをする手間がかかります。

なのでどうしてもIDだけをワンタッチで
コピーすることができる状態にしておきたかったんですね。
(返答メッセージでURL返せばいいじゃんって皆さん思いましたよね…。)

なのでこのリッチメニューを使ってすぐに
Instagramにアクセスして検索する導線をつくりました。

https://x.com/junwooseishun/status/1810600398396277107

届いたIDをコピー
↓
リッチメニューを押すとInstagramが表示される
↓
検索画面に遷移しペースト

さすがにワンタッチで遷移するより手間はかかりますが
部分コピーをするのよりは早いのでは？



# つくってみて🍈
完成をさせることができた達成感と喜びに浸っています。
一旦自己満足度はとても高いものができました。

長々書いたInstagramのIDの部分コピーの呪縛から
解き放たれるのは個人的に(本当に本当に個人的で申し訳ないですが)幸せです。

なにより仕事中はもちろんリストをすぐに見られますが、休日にリストは携帯しません。
でかけているときに気になるブランドを見つけた！リストにあったっけ？
なんてときに検索したりするのに便利に使えそうでうれしいです。

課題は検索の精度をあげること。
実際にチームのメンバーにも使ってみてもらい改良できるところを
見つけてブラッシュアップさせていきたいと思います。

もっと詳細な情報を入れたりしてみるのも検討しています。
会社のセキュリティと要相談です。

見ていただきありがとうございました。