管理されてえ
どうですか,皆さん.人生管理されたくないですか?
無理やりやりたくないことやらされたりするのは嫌ですが,人生がいい感じに管理されてると良い,そういう気持ちがあると思います(ありませんか?).
しかしながら,いい大人を被管理者の意に沿うように管理してくれる人というのは居ないわけです.
そういうわけなので,Slack botを作成して自分を管理してもらおうというのが趣旨です.
穏当に言うと秘書を作りましょうという話です.
どうするの
全体的に無料で済ませたいので,
- Slackの自分のチーム上に
- Herokuにデプロイしたrubotyで
という形でやっていきます.
まずは「Slackに繋がるrubotyをHerokuにデプロイ」からやりましょう.何にせよ機能追加はその後です.
こんな感じでやりました.
その後,ここを参考にGithubと同期するように設定.
この時点であなたのスラックには 「@botname ping」などと言うと「pong」と返してくれるbotが存在しているわけです.最高ですね?
あとは人生を管理してくれる機能を追加していくだけです.
機能追加とは
だけと言いましたが,機能追加するにはどうすれば良いのかという問題があります.
具体的にやったのは,ruboty-pluginとしてgemを作成,githubに公開,テンプレートのGemfileに作ったgemを追加,bundle update,デプロイです.
順を追っていきましょう.
ruboty-plugin作成
作成自体はこの記事に詳しいです.
rubyで環境変数読みたいなって時にちょっとわからなかったのでこのような記事も参考に.
ひとまずカレンダーとかタスクリストとかのURLを返答してくれる機能とかを作ったり,定期的に進捗状況を聞いてくる機能を入れたりというのをやりました.
下記のリポジトリですが,私自身に最適化されているため万人の使えるものではありません.
GitHub - itiya/ruboty-astral_zatsudan
annual_reportコマンドについてはruboty-cronで定期的に自分にメンションを飛ばしてもらっています.
GitHub - r7kamura/ruboty-cron: Mount cron system to Ruboty to schedule messages on a specific time.
githubに公開
githubにアップしておきます.git pushです.
プライベートリポジトリでも可です.
テンプレートのGemfileに作ったgemを追加
gemをgithubから読むようにGemfileに設定します.
プライベートリポジトリに置いた場合はこんな感じで読みます.
bundle update
Gemfile.lockを更新しないとHerokuにデプロイできないので……
これをやったらテンプレートを更新した分をgithubにpushしておきます.
デプロイ
テンプレートからherokuにデプロイします.
上記の手順で,Slack上で自分の望む機能を持ったbotが使えるようになるというわけです.最高.
実際どうですか
まだ運用を初めたばかりですが,人生を管理できそうな空気を感じています.
手帳などと比べて対話的に物事を進められるのが良いです.
まだ機能が少ないですが,基本的にbotと対話していると全てがうまく進むとようにするのが目標です.