BPS社内Slackに棲まう和みのSlack botが実は優れものだった件

こんにちは、hachi8833です。Slack使ってて思わずうるっとなってしまったので書いてみました。 そこに棲まうもの BPS社内に今やなくてはならないチャットツールであるSlackには、いつの頃からなのかybotなるものが棲みついています。それもいくつものチャンネルに。 見たところ、ybotくんは気が向くとネットの記事をクロールしてSlackのチャンネルに流してくれているようですが、その実体は果たしてどこにいるのか。 わたくしも気になりつつ、ついつい横目でチラ見していました。 その名前からして、社内きってのインフラエンジニアであるyamasitaさんが仕込んだ社内専用エージェントに違いないのです。聞かなくったってわかります。 パペットマスター かと思うと、yamasitaさんはときどきybotくんと会話しているようです。 あれ、クローラーじゃないのかな? それとも一人二役? 願い事を言うがよい そして今日になって突然、ybotくんの正体を目の当たりにしたのでした。 yamasita「準備ができたので、Slackのチャンネルに『@ybot refresh』って入力してください」 hachi8833「え?何のことだかわからないんですけど」 yamasita「まま、いいから履歴で俺がやってたようにやってくれればいいですから。聞き返されたら「はい」とか「yes」とかそれっぽいことを適当に入力してくれればいいっす。」 hachi8833「どれどれ、では」 おお、なんだかきゃわゆいz♡ コマンドを微妙にしくじると、こうでした。 Slack botでのスクリプト実行はこんなに便利 とこういうふうに、BPS社内のSlackチャネルで本TechRachoの社内開発環境を最新バックアップから取り出してリフレッシュできるようになったのでした。ニュースのクローラだけじゃなかったのね。 ybotくんの正体は、Slackから起動できる簡単なシェルスクリプトだったのでした。 しかし、ybotくんのようなSlack botによるスクリプト運用は見る人をなごませるだけでなく、次のような本気で実務に役立つ数々のメリットをも兼ね備えているのです。 スクリプト実行許可が自動的にSlackチャンネルのユーザーに限定される まさかり担いだ開発者の群れ集うマッドマックスな職場ならともかく、今や若い女の子やアルバイトの方もたくさん出入りするBPSのような職場(注: 個人の感想です)では、こうやってbotに話しかけるだけでお手軽にスクリプトを実行できるしくみは大変便利です。 さらに、スクリプト実行のアクセス権が自然にSlackチャンネルのユーザーに限定されるので、管理が大変楽です。同じことをWebページやドロップレットで実現しようとすると、アクセス権管理だけで憂鬱になれます。 シェルスクリプトだけでさっと書ける 従来なら、それ用のWebページやJSスニペットをえっちらおっちらこしらえたり、PowerShellやPythonあたりのドロップレットをデスクトップに置いてダブルクリックしてもらったりするところでしょう。 しかしやってみるとわかりますが、スクリプト開始のためにボタンと進捗表示だけのWebページを作るのは、アクセス権だのプログレス監視だの手数がかかる割に、何だかさみしいUIになりがちです。 ybotの場合はnode.jsで監視し、コマンドが入力されたら数行の簡単なシェルスクリプトを呼び出しているようです。しかも、このあたりはかなり自由に構成できそうな様子。 シェルスクリプトを普通どおりに書くだけで、こんな働き者のybotくんを作れるのはありがたいことです。愛い奴じゃ、褒美を取らせい。 Slackでのコマンド入力がそのまま履歴として共有される バックアップからリフレッシュするのにいちいち「今からやりまーす」とか周知する必要もなく、結果に問題が生じたときもそのまま状況をSlackチャンネルのメンバーでシェアできます。管理の手間のかからない「放し飼い」でありながら、必要な点はしっかり押さえています。 もちろん、後戻りできないシビアな操作をあえて仕込むときは、安全確認とともに、チャンネルのメンバーを厳選しましょう。 Slackで実用的なbotを作ってみよう 以上、想像以上に優れもののybotくんなのでした。 Slack botによる楽々スクリプト運用は、実務にも激しくおすすめです。「botkit slack」でググればやり方はいくらでも見つかるのでそちらでどぞ。 そうとも知らず大変失礼いたしました。今度からちゃんとさん付けで呼びます、ybotさん。 どこかで見たような絵ですが気にしませんので。 おまけ: 神降臨 別のチャンネルではygodなる別のbotとybotさんが、女の子からの指令を受けていそいそと連携動作するところも目撃しました。 ybotさんが低血圧で寝起きが悪いときにygod様が起こしてあげてるんだそうです。 ygod様に代わって年下の女の子から何度でも命令されてみたい方はこちらへどうぞ。 関連記事 20人の開発会社でSLACK有料化してみたよ。SLACK有料プランを導入後の業務効率の変化と費用対効果の予想まとめ。 Slackbot活用術 — URLの呼び出しとGoogle Spreadsheetでのクエリ