概要
- Amazon Dash Buttonが押されたら、slack statusを「着席中」「離席中」で交互に更新するようにしました
- これをNode.jsで実装し、仕事で使っているマシン上で走らせるようにしました
- Dash Button押すの楽しい
背景
全員がリモートワークの会社 (https://sikmi.com) で働いていています。
リモートワークということもあり、メンバーは常にdiscord(ボイスチャット)でオンラインになっています。(しかし、普段はもくもく部屋とかで皆さん仕事をしている。)
何か質問があったりすると、discordで気軽に「○○さんお疲れ様ですー。ちょっと質問があるのですが...」という感じで相手のいる部屋に凸してボイスチャットをする文化があります。
この時に相手がトイレやMTGなどで席を外していると、「あれ、離席中ですかね...?」と虚しい独り言となってしまい、MPが少し減るかもしれません。
また、slackに「急ぎ質問したいことがあるので、席戻ったら声かけてもらえると助かります! 」と書き込むことになったりします。
こうした課題への対応として、Amazon Dash Buttonを押してslack statusを楽に更新し、自身の着席・離席をリアルタイムに表現しようかなと思いました。
実装
https://github.com/abeyuya/amazon-dash-slack-status
↑こちらが実際に作ったのものです。
ボタンの押下イベントが発火したらslackAPIを叩くだけの非常にシンプルな実装になっています。
押下イベントの取得については、既存の素晴らしいライブラリがあったのでそちらを利用しました。
https://github.com/hortinstein/node-dash-button
本当はローカルマシンで走らせるのではなくAWS lambdaなどにスクリプトを設置してサーバレスにしたかったのですが、ライブラリの仕様上、LAN内でサーバを立ち上げておく必要があったため、このような実装になっています。
ライブラリの仕様というか、Dashボタンの仕様だと思うので、Web上で動かすのはちょっと難しそうだなぁと思いました。
感想
- slack status以外にも、トグルで何かを表現するような場合、Dashボタンは結構相性良さそう
- discordのAPIも叩いてプロフィール的な何かを更新するとより効果がありそう
- 通常の用途だと気軽にDasuボタン押せないけど、この用途だとめっちゃ気軽に押せて嬉しい
Dashボタンの用途の参考になれば幸いです。