毎日中華

アジア旅行と最近始めた電子工作が大好きな理系大学生が書いてます

Slackマスターになるためにラボの勤怠管理できる機能を実装してみた【2017年11月最終更新】

f:id:londonia:20171119204716p:plain

今日もSlackの話です。

弊ラボでは極めて古典的な方法で勤怠管理、というか居場所管理が行われています。一番左の列にラボメンの名前がズラーっと下に並んでいて、その他の列には『学生居室』とか『〇〇棟△階実験室』とか『帰宅』とか居場所を示す項目が書いてあって、自分のいる場所に磁石を動かすというアレ。

学生居室にしか置いてないから他の場所にいるときに他のラボメンの居場所を確認することはできないし、そもそもみんな磁石を動かすのを忘れているので、全然機能を果たしていません。

私自身はそんなにラボに行けていないので、何を偉そうに勤怠管理とかほざいてんだって感じではあります。でも最近Slackマスターになりたいので、ものを作りながらSlackについて詳しくなるために勤怠管理機能を実装することにしました。今回はSlack素人が0から勤怠管理botを作る過程をまとめました。

『みやもとさん』という便利なモノがあるらしい

私が欲しいと思うようなものは、だいたいみんなが欲しいと思うもの。 みんなが欲しいと思うものは、だいたい誰かが作ってくれているもの。

ということで、一瞬で見つけました - 『勤怠管理bot - みやもとさん』を!

Google Apps Scriptで書かれていて、Slack上で動くらしい。こんなモノがタダで手に入るなんて、恐ろしい世の中ですよ...

しかも導入の仕方を説明してくれるQiitaとかの記事がゴロゴロ転がっている...(感動)

自分で0からプログラムを書かなくていいんだということに感動しつつも、各所の導入方法をまとめた記事内に「2014年から更新されていないので、なんかよーわからんけどエラー吐きよる」という言葉を見つけてしまった。これは一筋縄にはいかないやつだな!

 ## つべこべ言わず導入してみた Gitに上がってるREADME.mdを参考にしつつ、まずは導入を試みました。

すんなり導入完了

f:id:londonia:20171120234420p:plain

プログラミング初心者でGoogle Apps Scriptなんて1ミクロンも触れたことないよ!という私が一番恐れていたエラーは起こりませんでした。本当にココのREADME.mdの通りに1つずつやって行けば余裕でできちゃいました。もはや使わない理由がわからないくらいです。

最初このQiitaの記事を見て、まだ見ぬエラーに震え上がっていたのですが、一番冒頭に書いてある追記書きを完全に見落としていました。

qiita.com

2016/08/04 追記:
現在はgitが修正され下記に書いた問題は起こらず、そのまま利用できるようです。

どう見ても私の目が節穴だっただけです。どうもありがとうございました。

『みやもとさん』にGoogle Driveのデータを抜き取られないの?

楽勝で導入したった!とは言ったものの、素人目線で少し「あれ?」と気になった部分もありました。

setUpという関数を実行するときに、Google drive上で実行するための承認をする必要があるのですが、そこでGoogleさんに「このプログラム、危険やで。実行せんときや!」と脅されたので、本当に承認してよかったのか謎です。まだまだ情弱なので、こういうところはよくわかりませんが、開発者の方(みやもとさん?)を信じて承認しました。

ラボのSlackにも近日導入したい

今回はお試しだったので、勉強用に作った私しかメンバーがいないWorkspaceにみやもとさんを導入してみました。30分もあればできます。なんども言いますがGithubに上がっているREADME.mdを読めば誰でもできます。プログラミングの知識もいりません。ただコピペするだけでいいのです

ラボ用に使えるようにするには、このほかに『どこにいるのか』という位置情報スプレッドシートに記録できるようにしたいのですが、これはデフォルトのみやもとさんには無い機能のようです。(ちゃんと見ていないので見落としている可能性は大いにありますが)

とにかく、思った以上に勤怠管理botをslackに導入するのは簡単でした。私のSlackマスターへの道も一歩一歩、少しずつではあるけど進んでいるような気がします(気がするだけ)。