読者です 読者をやめる 読者になる 読者になる

Slack上のテキストデータを簡易ビジュアライズ(可視化)できるbotで何ができるのか探る

当面はSlack上のテキストデータを簡易ビジュアライズできるbotで何ができるのか探って、それを報告す感じになると思います。

slackの炎上をbotで可視化して危機察知能力を高める

f:id:yobata:20170206080922p:plain

僕達のチームでは、緊急事態が起きた場合、 「slackのemergencyチャンネルでやり取りする」というルールがあります。

↓このチャンネル
f:id:yobata:20170202103728p:plain

しかし、slackでやりとりされる情報量が一定のレベルを超えるとなんだか色々察知できなくなりますよね?

そうなると、emergencyなチャンネルでのやり取りに 気がつかないメンバーも出てきたりして(僕の事ですが…) 大変危険です。

そこで、今回も、slackに凄ませたpickuponという slackのビジュアライズbotを使って、

f:id:yobata:20170202103920p:plain
↑slackに凄むこいつの事です。

emergencyな事態を(僕が)見落とさないようにする 仕組みを作りました。

1. pickuponbot)をslackに凄ませる。

↓こんな感じでpickuponをslackに凄ませます。 f:id:yobata:20170202104826p:plain

pickupon.io botをslackに入れる方法の詳細 http://yobata.hateblo.jp/entry/2016/12/22/001538

2. Itemのfire(炎)をpickupon board上に設置

次に、Itemのfireを設置します。

f:id:yobata:20170203090519g:plain

  1. 設定画面をひらき

  2. Itemタブに移動

  3. +newして

  4. Itemの名前を決める(今回では「炎上」となずけました。)

  5. Item typeのFireを選択

すると、Fire typeのItemが出現しました。 薪みたいなのがvalueが0の時のFireです。

3. emergencyチャンネルにコメントが流れたら、fireに+1するActionを作る。

次に、先程作ったItemの「炎上」に、emergencyチャンネルにコメントが流れたら、+1するAction(if thenロジック)を作ります。

Actionの作成

f:id:yobata:20170203083329g:plain

  1. Actionタブに移動

  2. +newして

  3. Actionの名前を決める(今回では「炎上Action」となずけました。)

Ifの作成(トリガー)

f:id:yobata:20170203083410g:plain

  1. トリガータイプのMessageを選択

  2. 反応するMessageを入力(今回は正規表現の [あ-ん] にしました。※1)

  3. 反応させるチャンネルを選択(もちろん今回はemergencyチャンネルです。※2)

  4. pickuponへのメンションじゃなくても反応させたいので、without mentionにcheck

※1 pickuponのトリガーキーワードでは正規表現が使えます。(もちろん使わなくても使えますが)今回はコメントすべてに反応させたいのでひらがなのあ〜んに反応させれば良いかなと思い、[あ-ん]にしましたが、 .+ とするとアルファベットも含めすべての文字に反応するのでそちらの方が良いと思います…。

※2 pickuponがjoinしてるチャンネルじゃないと反応しないので注意です…。

thenの作成(トリガーが発動した時のAction)

次に、if の時に何をするか設定します。 f:id:yobata:20170203083847g:plain

  1. +する

  2. Item Updateブロックを選択

  3. Itemの炎上を選択

  4. value に+1(increment)を選択

これで、emergencyチャンネルにコメントが流れたら(正確にはひらがなのコメントですが…)Itemの炎上に+1するAction(ロジック)ができました。

4. 念には念を入れ、emergencyチャンネルにコメントが流れたらpickuponからDMを送ってもらう。

視覚化するだけだと怖いので、炎上に+1された時に、pickuponにDMを自分(@yobata)宛てに送ってもらう事にしました。 f:id:yobata:20170203084540g:plain さっき作ったActionのthenの所にSend Messageブロックを作り、 to @yobata Message 炎上してるよ! と設定します。

5. 消火のActionを作る。

最後に、炎上が沈下した時に火消しするActionを 同じ要領で作ります。

if

「火消し」or 「消火」のMessageをpickuponが凄むすべてのチャンネルで見つけたら、

then

その時、Itemの「炎上」のvalueを0にする

f:id:yobata:20170203084725g:plain

というロジックを組みました。 これで、すべてが解決したら、消火できます。

6. 完成

という事で、emergencyチャンネルにコメントが流れたら、 それをビジュアライズしつつ、自分(@yobata)にDMを送る事が出来るようになりました。

f:id:yobata:20170203084744g:plain

まとめ

このActionを作ってから、まだ実際の炎上はないので分かりませんが、 チームの(僕の)危機察知能力が高まったはず!! これで安心ですね!!

後日談

先日、この仕組を導入してから初めてemergencyな事態が訪れましたが、 botが「えまーじぇんしー!!」ってDM送ってくると、マジでビビります。 一瞬んでエマージェンシーな気持ちになりましたので、おすすめです。

他の使い方

yobata.hateblo.jp

yobata.hateblo.jp

yobata.hateblo.jp

スペイン語

medium.com