誕生日からの経過日数を出力するSlack Botを作った
掲題の通りなのですが、誕生日からの経過日数を出力するSlack Botを作りました。
経緯
子供ができてからたまひよのアプリを使っていたのですが、使い勝手が悪いし、生後何日かを確認するくらいしか利用していなかったので、SlackのBotにすれば家族で共有できるし、そっちのがええやんということで作成しました。
作り方
こちらのサイト(BotkitでSlackのBotをサクッと作る方法)を参考にBotを設置しました。 Botはここから作成します。 応答を返すだけならば特に難しいことはありません。 お手本通りにやればできます。
準備
Slack公式のBotkitはNode.jsを利用するためNode.jsのインストールが必要です。インストールされていないのであれば、環境に合わせてインストールが必要ですが、Mac/Linuxで特に理由がなければnodebrewを利用するのが良いでしょう。こちらを参照してインストールします。Windowsの場合はnodistが利用できるようです。こちらが参考になります。
Node.jsのインストール・確認コマンド例(bash)
$ curl -L git.io/nodebrew | perl - setup $ echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ${HOME}/.bashrc # .bash_profileが無い。もしくは.bash_profileに.bashrcを読む設定がない場合は読みこむようにします $ cat << EOF >> ${HOME}/.bash_profile > if [ -f ~/.bashrc ]; then > . ~/.bashrc > fi > EOF $ ${SHELL} -l $ nodebrew help $ nodebrew ls-remote $ nodebrew install-binary v5.6.0 $ nodebrew use v5.6.0 $ node -e "console.log('hello world');"
Botkitのインストール
Slack公式のBotフレームワークであるBotkitを任意のディレクトリにインストールします。gitが無い場合はnodeのパッケージマネージャーであるnpmからインストールできるみたいです。コマンドは載せておきますが、自分は使っていません。
gitの場合
$ git clone https://github.com/howdyai/botkit.git <folder-name> $ cd <folder-name> # 依存関係を解決させる $ npm install
npmの場合
$ npm install --save botkit
Botの起動
ここまでできれば、もうデフォルトのBotが起動できます。起動後にBotに向けてhelloと送ると応答を返してくれるはずです。
#xxxはBotを作って手に入るAPIトークンを指定します。 $ token=xxx node bot.js
誕生日からの経過日数を出力させる
jsファイルはこちらに公開しています。 ただ使うだけであれば、bot.jsとcalcBirth.jsをBotkitのディレクトリ内に配置します。
起動中の場合はBotを再起動した状態でyourname(実際は指定したコマンド名)をSlackで入力すると次の様な情報が出力されます。
Tue Oct 20 2015 22:47:00 GMT+0900 (JST) Sun Feb 14 2016 17:18:32 GMT+0900 (JST) 満年齢:0 前回の誕生日からの経過月と日数:3か月と25日 前回の誕生日からの経過日数:116日
需要は無いと思いますが、せっかく作ったので自分メモとして残しておきます。