MinatoのBlog

東京中央区のシステム制作会社「株式会社Minato」の公式ブログです。IT関連のニュースや作ってみたもの・試したことなどを書きます。スマホアプリ・Web開発・IoTなど

LineBotとLineビーコンで勤怠管理をやってみた

こんにちは。あんどう( @t_andou )です。

先週、LineDevDay2016に行ってきました。

様々な発表がありましたが、個人的に一番大きかったのは
これまではトライアル版だったLine Messaging API(通称 Line Bot)の正式版が発表されたことでしょうか。

以前、弊社ブログでもLineBotの事例をご紹介しましたが、今後もさらにBotの開発・普及が加速していくと思われます。
blog.minato.jp.net

豪華なイベントで非常に楽しい思いをさせていただいたのですが、今回はなんと更に…Lineビーコンの開発に使える端末までいただきました‼︎

これは試してみるしかない…‼︎

ということで、早速使ってみました。

作ったもの

勤怠を記録して、会社のSlackに挨拶をしてくれるBotを作りました。

全体の流れ

  1. LineBotに向けて簡単な挨拶をする
  2. Botが会社のSlackへ挨拶を代行
  3. Botがタイムカードを打刻
  4. 完了したことを報告してくれる

こんな流れになります。

実際の使用画面

Line画面

タイムカード画面

Botが代わりに打刻してくれます。

slack画面

自分のアカウントで書き込んでくれるので、Botが挨拶を代行していることはバレません。(すっごく便利。)

Lineビーコンも導入してみた

「おは」と送るだけで勤怠をつけてくれるのは便利なのですが、せっかくLineビーコンをいただいたので、出勤の記録をする部分にLineビーコンを使用してみました。

全体の流れ

  1. 出社する(<-ここが変わりました)
  2. Botが会社のSlackへ挨拶を代行
  3. Botがタイムカードを打刻
  4. 完了したことを報告してくれる

使用中の画面

近づいただけで出勤を記録してくれるようになりました。

作り方

最後にサンプルソースを公開していますので、ここではざっくりと書きます。

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

・アイコン、イラストはいま大人気の「いらすとや」さんから使わせていただきました。 かわいいフリー素材集 いらすとや