kikuの四苦Hack

ガジェットやプログラミングで遊ぶ

Slackbotで共同財布管理

相方さんとの連絡用に使っているSlackがいい感じにカスタマイズされてきています。最近追加したのは共同財布の管理機能。これが結構評判(相方さんの)がいいので、コードを公開しちゃいます(別に大した事をしてるわけではない)。

※共同財布とは。

会計でどっちが払うのかを探りあうのが面倒だったり、小銭のやりとり発生がめんどくさーい、という方(私含む)にはとても良いシステムなのですが、ひとつ問題なのは「物理的な財布が増える」という点です。

そこで提案するのが共同財布の仮想化(←言いたいだけ)。つまり、

  • 物理財布を増やさずに
  • Slackbotを使って
  • 共同財布の管理を簡易化する

ことを目指します。今回は、男性:女性が2:1で共同財布にお金を入れ、男性がすべて支払い行為を行うものと仮定します。仮想共同財布の管理法の例&Slackbotに必要な要件は以下のとおりです。※物理的に発生するお金のやりとりと、それに合わせて実行するbotのコマンドを併記しています。

1. 仮想共同財布へのお金の追加
(物理)女性が男性に4000円渡す=男性分含め合計12000円となる。
(仮想)addコマンドによりbotが仮想共同財布に12000円追加する。

2. 仮想共同財布からのお金の支払い
(物理)男性が7000円支払う=共同財布の中身は5000円となる。
(仮想)payコマンドによりbotが仮想共同財布を7000円減額する。

3. 仮想共同財布の中身の確認
(物理)物理的に男性財布との区別されていないので残額は不明。
(仮想)nowコマンドによりbotが現在の残高を教えてくれる。

なんとなく伝わりますか...?? この運用のいいところは、男性の財布に共同管理のお金が(男性のお金と区別されずに)入っていても、共同管理のお金の残高がすぐにわかる点です。またSlackを見ることにより女性にも残高がひと目でわかるので、なにも言わずとも「そろそろお金ないよね?」とお金を渡してくれるようになります。すばらしい。

実装後の運用例↓↓↓
f:id:kiku11:20170226182334p:plain
ちなみに、この運用例では示していませんが「pay 2000 昼食」と用途を書いてもきちんと金額部分が認識されて残高が計算されます(詳しくは下の実装を参照ください)。

続きを読む