ruboty-karmaでチーム内徳マネジメントを推進しよう!

github.com

概要

  • ruboty-karmaというgemを作りました
    • karmaと呼ばれるスコアを管理することができます
    • hubot-karmaと似たようなものです
    • ruboty-score_keeperと似たようなものです
    • 何が違うかというと、karmaを溜めたときのメッセージを環境変数で変更できます。

--

全世界のrubotyユーザーのみなさんこんにちは。 @hkdnet です。
今日は(また)rubotyのgemのお話です。
ruboty-karmaというgemを作成したので紹介します。

コンセプト

日々流れ行くSlackのログの中で、感謝の声が埋もれていく。
この現状についてちょっともったいないな、もっと可視化したいなと思って保存できるようにしました。
分報*1などのリアルタイムでお悩み解決をするSlackの使い方が広まる中で徳マネジメントはメンバーのモチベ管理のためにもっと重要視されていいのではないでしょうか。

というのは建前でrubotyの管理者やってたらいろいろ感謝されるので見える化して承認欲求を満たそうとしました。はい。

miiraちゃん*2に喋らせるんだからセリフカスタマイズしたいよね、という個人的な欲望が盛り上がってセリフカスタマイズ機能もつけました。

機能

  • nameをkeyにして整数型のvalueを保持できます
  • valueに対してincrementすることができます
    • incrementした後の通知メッセージをカスタマイズすることができます
    • decrementすることはできません
  • keyをもとに保持しているvalueを削除することができます
  • 保持しているkeyとそのvalueを一覧することができます

使い方

ルール

nameは@及び:以外の連続した文字列を認識します。 例えば以下は全てhogeと認識されます。

各機能説明

increment

コマンド

@ruboty name ++

内容

nameのvalueを+1します。nameの登録は不要です。 例えば未登録のhogeさんに対してincrementを実行すると1から始まります。 nameと++の間のスペースは必須です。*3

環境変数 RUBOTY_KARMA_ADD でincrementしたときのメッセージを変更することができます。 例えばうちのmiiraちゃんには以下の設定をしています。

RUBOTY_KARMA_ADD=%sのkarmaが%dになったでし。もっともっと集めるでし

%sにはnameが、%dには合計karmaが入ります。

delete

コマンド

@ruboty delete name

内容

nameのvalueを0にします。

list

コマンド

@ruboty list karma

内容

溜まったkarmaをlist表示します。valueが0のkeyは表示されません。 実行例は以下です。

ieyasu: 8
hidetada: 5
iemitsu: 5 
ietsuna: 2
tsunayoshi: 1

他gemの利用

ruboty-replace*4を利用して以下の設定をすると便利です。

@ruboty: replace thx @?(\S+) with @ruboty @\1 ++

そうすると、実際のチャットでは以下のようなコマンドでincrementさせることができます。

f:id:hkdnet:20151226112908p:plain

結構便利なので是非おためしください。

*1:分報についてはこちらを参照 → http://c16e.com/1511101558/

*2:うちのbotkawaiiのが特徴。詳しくはこちらを参照 → http://hkdnet.hatenablog.com/entry/ruboty-echo_to

*3:直すか迷っていますが

*4:https://github.com/r7kamura/ruboty-replace