小規模なウチの会社は勤怠管理を昔ながらの物理的なノートに時間を書き込んでやってもらっている。
何とかできんかという要望があったので、いっちょ自分で頑張ってみることにした。
というのも僕が勉強しているpythonで作れそうな動画を発見したから。
概要としてはGoogleのスプレッドシートに勤怠管理用のファイルを作成し、各スタッフがLINE勤怠管理Botに対し"出勤"、"退勤"を書き込むことにより、書き込みを行った時間をスプレッドシートに反映させるというもの。
休憩時間、有給、欠勤はどうするとか細かい内容は取り敢えず置いといて、まずは本当に作れるものなのかを検証してみる。
動画を参考を観ながら自分なりに改善を加える。というか動画が古くて前提条件が一つ潰れてしまっている。
Herokuというサーバー機能をもたせるサービスが当時とは異なり有料化されてしまっており、テストで試すのはちょっと…ということで、無料で始められるGoogle Cloudを使ってみることにする。
そしたら全ての勝手が違って訳が分からん状態に
一歩踏み出そうとすると周りは全部知らないことなので、調べて調べて、次の一歩がまたその繰り返し。
心が折れそうになるも成功するまで続けるという根性論で頑張って、なんとかデプロイまでこぎつけた。
次はGoogleスプレッドシートに書き込むところまでは動画に上っていたので、スタッフごとにタイムシートを作成して書き込むというのを自己流で作り出すという改良に着手。
LINEの書き込みを取り込んでそこからユーザーIDを取り込むのに一苦労。
最終的にネットに転がってる情報を試しまくってなんとか手にできたけれど、キーが公式に乗ってるのと違うんだもん…なんでやねん載せとけよ…
ってちゃんと取れるやり方があるんかもしれんけど、僕のレベルだと公式を読んだだけでは無理でした
ユーザーIDさえ取り込無事できれば、それを元手にタイムシートを作り、出退勤の書き込み時間を入れる、と。
専門言語が異なるけれどプログラマーのお友達にも知識を与えてもらいながらもなんとか成功!
LINEに出勤or退勤を書き込むと
タイムシートがない人に対してはif文で各人のタイムシートを作成し、出退勤時間を書き込んでくれる。
”退勤”なんて普段使わんし、”帰”の文字でもいけるようにコードを追加。
ここでorを使うとその部分だけは問題ないけど以下のコードがおかしくなる謎が出現しここは未解決。
一ヶ月が終わったらスプレッドシートのデータを社労士さんに渡せば完了と。
そういう部分も作れそうだけれど、疲れたので取り敢えず終了。笑
制作期間は4週間弱
結局Googleの無料枠を使い切ってしまって、通信費用が5000円ほどかかってしまった。
ベースとなる動画があるからと言ってそのまんま使えるかというと当然そんなはずはなく、わからんところを一つづつ調べて解決しながら、徐々に理解が深まってきて一通り何をやってるか分かってきたところでようやく完成したあたり、やっぱり勉強することが大切なんだなと思った。
実践が一番の勉強になるね。
今回はLINEのような現役のサービスに繋げて何かしらをできるようになり、一気に世界が広がった気がする。
しばらくコードを書いておらず忘れかけてたpython知識を掘り起こしつつ更に学ぶことができて愉しかった
といっても今回でベースができただけで、実用できるレベルじゃない。
まだまだ改良を加えていく必要があるけど、やれるかな~
ここまでこれたなら頑張っていこうと思う。
参考にさせていただいた動画はこちら
【業務自動化】PythonでLINE勤怠管理Botを作成する方法についてわかりやすく解説
※コメント投稿者のブログIDはブログ作成者のみに通知されます