8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

部長の予定も電話番号もわからない...!LINE Botにお任せください★

Last updated at Posted at 2024-08-12

こんな経験ありませんか?

  • 部署の人たちの予定を取引先に聞かれたけどわからない:frowning2:
  • 異動したばかりでみんなの電話番号が分からない:scream:

日々の業務に追われて意外と新しく入ってきた人やあまり連絡とらない方の電話番号が
抜けてたりする私です...(上長の予定も当日確認...)
そんなそんなマメに生きるのが苦手あなたたちへ送るLINE Bot!!!!

本日は素人ながら人生の苦手を克服するために作ってみたLINE Botの作成過程をご紹介いたします。

目次
・出来上がると
トーク画面のスクショ
・何ができるの?
・MAKEのシナリオ
・Google Spread Sheet
1つ目・2つ目
・手順
手順①~⑦
・以上!
あとがき等
使用したツール一覧

MAKE

LINE Official Account Manager

Google Spread Sheet

:white_flower:完成系の動画

動作動画はXからご覧ください。

:iphone:トーク画面はこのようになります

:ideograph_advantage:このLINE Botでできること

・予定を知る
該当者の役職と日付を組み合わせて入力することでその日の予定を知ることができます。
・電話番号を知る
氏名・社員番号・役職のいづれかを入力することで電話番号が返ってきます。

:gear:MAKEのシナリオ

MAKEシナリオ.png

:page_facing_up:Google Spread sheet(以下スプレッドシート)の内容

:pencil2:1つ目

スプレッドシート②.png

:pencil2:2つ目

スプレッドシート①.png

それではここから手順説明です。

:pushpin:手順

:white_check_mark:手順①~1つ目のフィルターを設定しよう~

まずは予定を知りたい場合です。

1つ目のスプレッドシートのA列(役職&日付)がLINE上で入力された場合に対象となるD列(予定)の値を返すというフィルター設定をします。

①指し示し.png

フィルターの中身
最初のフィルター.png

Text operators:Equal to A列
利用者がLINEで入力する値と同じだった場合ということです。

:white_check_mark:手順②~LINEモジュールの返答設定①~

続いて1つ目のフィルターの斜め上にあるLINEモジュールの返答設定です。

返答①指し示し.png

LINEの中身
①LINE.png

手順①で指定した条件に対して返答を返します。
任意のメッセージを入力してください。

予定を知りたいのでD列(予定)は必ず指定します。

はい!ここまでで〇〇さんの×月×日の予定なんだっけ?が解消されました!
一旦保存します。(何度も保存し忘れて吹っ飛んだ人:eye:

:white_check_mark:手順③~2つ目のフィルターを設定しよう~

次は2つ目のスプレッドシートを使用して電話番号を知るフェーズです。
LINEで以下のテキストのいづれか
★「氏名」「社員番号」「役職」★
が入力された場合に対して該当者の電話番号を返します。

まずは2つ目のフィルター設定をして分岐させます。
ここでは「LINEに入力されたテキストが1つ目のスプレッドシートのA列内にはない」ということをフィルターに入力します。

つまりA列にない文字が入力されたら2つ目のスプレッドシートから探そう!という指令を出すわけです。

②指し示し.png

2つ目のフィルターの中身
二個目のフィルター.png

Basic operators: Exists
先ほどはA列同じ場合ということでEqualでしたが今回はA列の値以外の場合なのでExistsになります。

フィルターが設定し終わったら2つ目のスプレッドシートのモジュールを入れます。

:white_check_mark:手順④~3つ目のフィルターを設定しよう~

続いていよいよ2つ目のスプレッドシートの内容に関してのフィルターを設定します。

③指し示し.png

LINEに入力されたテキストが「氏名」「社員番号」「役職」のいづれかの場合ですから
2つ目のスプレッドシートで当てはまるのはD列(氏名)またはB列(社員番号)またはA列(役職)ということになります。

3つ目のフィルターの中身
3つ目のフィルター.png

Add OR rule で▲または●という指定になります。
こちらもまた当てはまる場合なのでText Operators: は Equal toです。

:white_check_mark:手順⑤~LINEモジュールの返答設定②~

手順④で当てはまった場合のLINEモジュールの返答を入力します。

2つ目のLINE指し示し.png

LINEの中身
返答③指し示し.png

Textのところに任意の値を入力します。
今回はC列(会社スマホ)の電話番号のみ返ってきても味気なかったので
A列(役職)とD列(氏名)も返すように設定しました。

:white_check_mark:手順⑥~4つ目のフィルターを設定しよう~

いよいよ終わりに近づいてきました!
どちらのスプレッドシートにもない情報がLINEで送られてくる場合もありますよね。そんな時用に分岐を作ります。

手順⑤ではフィルターでLINEに入力された値が1つ目のスプレッドシートにも、2つ目のスプレッドシートにも当てはまらない場合を指定します。

4つ目のフィルターを設定します。

4つ目のフィルター.png

フィルターの中身
4つ目のフィルター中身.png

実は手順②と一緒です。

手順②では1つ目のスプレッドシートに当てはまらないという条件でしたが
手順⑤では1つ目のスプレッドシートにも当てはまらない[且つ]2つ目のスプレッドシートにもないという条件です。

ここまできたら後は2つのスプレッドシートに当てはまらない場合の最後はLINEの返答を作って完了です。

:white_check_mark:手順⑦~LINEモジュールの返答設定③~

右下のLINEモジュールの設定をします。

LINE3つ目指し示し.png

LINEの中身
3つ目のLINEの中身.png

1つ目のスプレッドシートにも当てはまらない[且つ]2つ目のスプレッドシートにもないテキストがLINEで来てしまったら間違ってるよ!と教えてくれます。

:relaxed:あとがき~反省と今後~

ここからはあとがきです。

反省点と次頑張りたいこととしては

今回はスプレッドシートをつかいましたが本当はHTTPとかJSONとか使いたかったのですが
なかなかうまく組み込めず断念してしまいました。

役職名&日付のところはエクセルのような数式感が出てしまったので
役職だけ入れれば日付も呼び出して指定した日の予定を出すというようにできたらいいなあと思っております。

さらにこれは自己満ですが使用者に対しておすすめのアーティストや今日の1曲といったようなTMIもしたかったのですがSpotifyさんの認証を突破できずこちらも断念しました。

Spotify.png
IDやURIもすべて見つけたのに承認されず...また頑張ります。

やりたいと思ってできたこととしてはリッチメニューの導入で
このLINEbotはこういうことができますよというのを使用者に事前知らせることができました。
こちらはLINE Official Account Managerから設定することができます。

リッチメニュー.png

すごく公式LINEぽくなります。:raised_hands:
ここまで読んでいただきありがとうございました。


8
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?