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

こんにちは、hachi8833です。Slack使ってて思わずうるっとなってしまったので書いてみました。

そこに棲まうもの

BPS社内に今やなくてはならないチャットツールであるSlackには、いつの頃からなのかybotなるものが棲みついています。それもいくつものチャンネルに。

160830_2121_oaapmZ

見たところ、ybotくんは気が向くとネットの記事をクロールしてSlackのチャンネルに流してくれているようですが、その実体は果たしてどこにいるのか。

わたくしも気になりつつ、ついつい横目でチラ見していました。

その名前からして、社内きってのインフラエンジニアであるyamasitaさんが仕込んだ社内専用エージェントに違いないのです。聞かなくったってわかります。

パペットマスター

かと思うと、yamasitaさんはときどきybotくんと会話しているようです。

160830_2130_C7ACOI

あれ、クローラーじゃないのかな? それとも一人二役

願い事を言うがよい

そして今日になって突然、ybotくんの正体を目の当たりにしたのでした。

yamasita「準備ができたので、Slackのチャンネルに『@ybot refresh』って入力してください」
hachi8833「え?何のことだかわからないんですけど」
yamasita「まま、いいから履歴で俺がやってたようにやってくれればいいですから。聞き返されたら「はい」とか「yes」とかそれっぽいことを適当に入力してくれればいいっす。」
hachi8833「どれどれ、では」

160830_2143_UpIYqg

おお、なんだかきゃわゆいz♡

コマンドを微妙にしくじると、こうでした。

160902_1823_K3JjRM

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さん。

どこかで見たような絵ですが気にしませんので。

160831_1059_yrlVr3

おまけ: 神降臨

別のチャンネルではygodなる別のbotとybotさんが、女の子からの指令を受けていそいそと連携動作するところも目撃しました。

Pasted_image_at_2016_08_31_12_29_PM

ybotさんが低血圧で寝起きが悪いときにygod様が起こしてあげてるんだそうです。

ygod様に代わって年下の女の子から何度でも命令されてみたい方はこちらへどうぞ

関連記事

Ruby on RailsによるWEBシステム開発、Android/iPhoneアプリ開発、電子書籍配信のことならお任せください この記事を書いた人と働こう! Ruby on Rails の開発なら実績豊富なBPS

この記事の著者

hachi8833

Twitter: @hachi8833 コボラー、ITコンサル、ローカライズ業界を経てなぜかWeb開発者志願。 これまでにRuby on Rails チュートリアルの大半、Railsガイドのほぼすべてを翻訳。 かと思うと、正規表現の粋を尽くした日本語エラーチェックサービス enno.jpを運営。 仕事に関係ないすっとこブログ「あけてくれ」は2000年頃から多少の中断をはさんで継続、現在はnote.muに移転。

hachi8833の書いた記事

週刊Railsウォッチ

インフラ

Rubyスタイルガイドを読む

BigBinary記事より

ActiveSupport探訪シリーズ