1.自分が採用した子はいつまでたってもかわいいのです
こんにちは、私はとある小売業グループにて採用担当をしているものです。
私の最近の悩み、それは退職率です。パーセンテージや具体的な人数はここでは伏せさせていただきますが、一生懸命採用した子達が私が知らないうちにいなくなっていると本当にさみしい…。たとえ何年経っててもです。新しい夢に向かって辞めるならいいけど、あの人と合わなかったとか、仕事があーだった、こーだったとか後から聞くと、「辞める前にお話聞いてあげられたらよかったなあ」としんみりしてしまいます。でもいきなり本社の採用担当に相談ってしずらいよね。
そこで今回作成するのは気軽に
1 希望面接日程を本社採用担当に伝えることができる
2 自分の現在の体調(元気、とか元気じゃない、とか瀕死とか)を伝えることができる
そんなLINEBotです。それじゃあさっそくmakeで作ってみよ~。
1-1 今回使用したツール
★Line Deveropers ★Make
・Make登録方法
https://zenn.dev/protoout/articles/12-integromat-signup
・LINE BOT登録方法
https://zenn.dev/protoout/articles/16-line-bot-setup
・Googleスプレッドシート
1-2参考にさせていただいた記事
1-3完成したBot
それでは説明に入る前にまずは完成品をご覧いただきたいと思います。
はいこちら!
1-4 こだわりポイント
1、ど、ど、どうしても対話形式にしたい!
2、いただいた情報(面接日程と体調)をスプレッドシートにて管理
3、スタンプ使ってかわいくしたい!機械的な感じがでないようにする!
2.対話形式Bot作成について
まず、初手でいきなり挫折しました。
私がやりたいことを箇条書きにして説明します。
面接日程を聞くメッセージを送る
┗ラインで答えてもらう→スプレッドシートに記載
┗体調を聞くメッセージを送る★
┗ラインで答えてもらう→スプレッドシートに記載
┗サンクスメッセージを送って終わり★
これだけだったら、こういうふうにモジュールつなげばいいと思いませんか?!
はい、これだめーーー!
何が起きるかというと、★が付いている2つのメッセージが一気に流れてきちゃうんです。
全然対話にならないじゃん。私の頭の中にかの有名な美空ひばりさまのあの歌が流れてきました。
「ああーーーーーー、川の流れのよーーーーうにーーーー♪」
全部流れちゃったというわけです・・・。つまり、対話形式にするためには「何か川をせき止めるものが必要」なわけです。
その答えがルーターです。
みんな、ここテストに出るから覚えておいてね!じゃあ、完成形をお見せします。
作ってみたらこんな放射状になりました。
ルーターの設定なのですが、例えばこの③「日程」のところは下記のような設定をしています。
ユーザーが/を含む文字を入力してきたら、それは「日付」だと判定してね、という意味ですね。日付の入力がトリガーとなって、次の質問のテキストが流れる形です。
体調管理⑤の方のセッティングはこんな感じです。
今回は元気な方は1、元気じゃない方は2を選ぶ形にしたので、数字で1か2が来たらそれは「体調」の項目だと判定してね、ということです。体調管理の数字が来たら、最後にサンクスメッセージを送られて終了です。
ルーターって、Excelでいうif関数みたいだねーと私のチームメイトがおっしゃっていました。これは名言!わかりやすい!この言葉もきっとテストに出るから、みんなメモしておくように。
3.なんでスプレッドシートに行は追加できるけど列は追加できないの問題
だんだん要領を掴んできた私は続いてスプレッドシートの接続に挑むことにしました。
ルーターで条件振り分けりゃいけるんでしょ?ということで、こんなかんじで指定した文字をスプレッドシートに書き込めるようにモジュール組んでみました。
みなさん、これどんな問題が起きるかわかりますか?
こうなります。
C2に入力されている1は体調管理への返答になります。
お一人が答えている内容なので、本当はC1セルに入ってほしいのに、なんでC2に入力されるのかーーー!
答は簡単です。二つともadd a rowを使っているからです。だから次々に行が増えていっちゃう。「わたしは行を増やしたいんじゃない!列を増やしたいんだーー!」と豊平川河川敷で叫んでみたい衝動にかられました。(※札幌在住)
だって、みなさん、これ見てみて。
行に関するモジュールは山ほどあるのに、列に関するものは1個もないんですよ(怒)
私が小学校の先生だったら怒ります。「列くんも仲間に入れてあげなさい!」と。
このあたりがプログラミング独特なところなんだと思うんですけど、どうやら行だけでどうにかしないといけないらしいです。
答を先に言うとこういう時はupdate a rowを使うんだよ~とある方に教えていただきました。(感謝!) このモジュールは追加済みの行を取得して新しい列を上書きするという機能とのこと。確かに行だけでどうにかなりました。
4.骨組みは終わった、最後に…
とりあえず骨組みは終わりました。本当は体調が悪いと答えた人にはもう少し詳しく話を聞きたいなとか、もう少し分岐増やしたいなとも思ったのですが、それよりも何よりも大事な仕事に取り掛かることにしました。
このBotの題名は「私の代わりにみんなの様子と面接希望日を聞いてほしい!」です。私の代わりに、が大事なのです。機械的にLINEが聞いてくれるのではなくて、小粋なセリフとスタンプで私が話しているかのようだ、とユーザーに感じていただくことが大事なのです。本当に心が弱った時って、周りがみんな敵みたいに感じることがあるじゃないですか。でも、そんなことはないよ、ってことを伝えるのが何よりも何よりも大事なのです。
そんなわけで需要があるのかないのかわかりませんが、LINEスタンプの貼り方を貼っておきますね。
ちなみにパッケージIDとスティッカーIDは下のリストに飛ぶと調べることができます。
https://developers.line.biz/en/docs/messaging-api/sticker-list/
以上です。ここまで私の長文・駄文を読んでいただき誠にありがとうございました。「ひのきのぼう」でラスボスに臨むような5日間でしたが、わたしの武器を「ひのきのぼう」から「はがねのつるぎ」へと変えてくださった皆様に心より御礼申し上げます。結論、たのしかったーーー!初心者が作ったにしてはすぐ使えそうじゃない?(ドヤ)と調子に乗る私でした。