LineBotとLineビーコンで勤怠管理をやってみた
こんにちは。あんどう( @t_andou )です。
先週、LineDevDay2016に行ってきました。
様々な発表がありましたが、個人的に一番大きかったのは
これまではトライアル版だったLine Messaging API(通称 Line Bot)の正式版が発表されたことでしょうか。
以前、弊社ブログでもLineBotの事例をご紹介しましたが、今後もさらにBotの開発・普及が加速していくと思われます。
blog.minato.jp.net
豪華なイベントで非常に楽しい思いをさせていただいたのですが、今回はなんと更に…Lineビーコンの開発に使える端末までいただきました‼︎
これは試してみるしかない…‼︎
ということで、早速使ってみました。
作ったもの
勤怠を記録して、会社のSlackに挨拶をしてくれるBotを作りました。
全体の流れ
こんな流れになります。
実際の使用画面
Line画面
タイムカード画面
Botが代わりに打刻してくれます。
slack画面
自分のアカウントで書き込んでくれるので、Botが挨拶を代行していることはバレません。(すっごく便利。)
Lineビーコンも導入してみた
「おは」と送るだけで勤怠をつけてくれるのは便利なのですが、せっかくLineビーコンをいただいたので、出勤の記録をする部分にLineビーコンを使用してみました。
全体の流れ
使用中の画面
近づいただけで出勤を記録してくれるようになりました。
作り方
最後にサンプルソースを公開していますので、ここではざっくりと書きます。
LineBotの設定方法
LineBotのアカウントの取得・設定からビーコンのイベント取得まではこちらの記事を参考にさせていただきました。 LINE Beaconを試してみた - Qiita
勤怠の記録方法
弊社の勤怠管理にはグループセッションというグループウェアを利用しています。
このグループセッションにはタイムカードを打刻するためのAPIがあるので、これを使います。
開発ドキュメント | 無料グループウェア Group Session
slackへの挨拶の送り方
こちらの記事を参考にさせていただきました。
PHPでSlackに通知を送る - Qiita
ソースコードはこちら
https://gist.github.com/takuya-andou/ffcb0b2e28cde2e6fb882eafa7e74883
(僕以外の方が挨拶をした時に僕の勤怠を記録してしまうと困るので、IDで振り分けてます。)
課題
- 「ビーコンイベントは1日に1回まで」みたいな制御をしていないので、近づくたびに何度も出社報告をしてしまう。
- グループセッションのID/PASSやslackのアクセストークンをベタ打ちしてるので、カッコ悪い。DBでユーザーごとに管理して、複数人に対応したい。
- 2016/10/7現在、Lineビーコンは「近づいた」というイベントしか取れないので、帰ったことが把握できない。
疑問点
まだ検証できていないのですが、LineビーコンはLineのアプリを開いてないと反応しないように見えました。(バックグラウンド実行だと反応しない?)
この辺りは今後色々と試していく必要がありそうです。
感想
1週間ほど利用しましたが、ちょっとしたアクションで色々とやってくれるので非常に重宝しています。
ビーコンはまだ少し使いづらい印象でしたが、これからいろんな機能が追加されるようですので楽しみですね。
参考にしたサイト
・LineMessagingAPIの設定の仕方やLineビーコンの開発の方法はこちらの記事を参考にさせていただきました。
LINE Beaconを試してみた - Qiita
・Slackへの投稿はこちらの記事を参考にさせていただきました。
PHPでSlackに通知を送る - Qiita
・アイコン、イラストはいま大人気の「いらすとや」さんから使わせていただきました。 かわいいフリー素材集 いらすとや