シェルにログインボーナス機能を追加してみた
はじめに
プログラミングの勉強のために毎日シェルにログインしたいがモチベーションが続かない。
そんな悩みをお持ちではないだろうか?
毎日ログインするぞと決断しては3日で続かなくなる。というのを僕は繰り返していた。
そこで、如何にしてログインをシェルにログインするモチベーションを向上させるかを考えたところ、ソーシャルゲームのようなログインボーナスがあれば毎日ログインする気になるのではないかという結論に至った。
そこで、シェルにログインボーナスを追加するだけの簡易なプログラムをPythonで作ってみた。
デモ
機能は至ってシンプルで、シェルにログインすると、通算・連続・当日のログイン回数を表示する。日本人は数字が好きなのでこれだけでもモチベーションが向上するだろう。
また、特定回数ログインするとお祝いのメッセージが表示される。正直なところボーナスといっても何を与えたら良いのかわからず、祝辞を表示するぐらいしか思い浮かばなかった。とは言え、長期間ログインすると豪華なアスキーアートが表示される。
インストール
動作環境
Python3またはPython2のインストールされたMac、Linuxで動作する。.bash_profileが利用できる環境であればWindowsでも動作するだろう。
Pythonのバージョンを確認するには、
$ python -V
として、「Python 3.x.x」と表示されればPython3、「Python 2.x.x」と表示されればPython2であることがわかる。「-bash: python: command not found」と表示された場合はPython自体がインストールされていない。
ダウンロード
まずはGitでリポジトリからダウンロードする。
$ git clone https://github.com/yoidea/login_bonus_for_shell.git
$ cd login_bonus_for_shell
自動インストール
install.shを実行する。
$ sh install.sh
手動インストール
任意の名前のディレクトリ(例: ~/LBFS)を作成して、そのなかにファイルをコピーする。
$ mkdir ~/LBFS
$ cp ./* ~/LBFS
Python3の場合
cd ~/LBFS python logger.py cd ~/
Python2の場合
cd ~/LBFS python logger_for_python2.py cd ~/
カスタマイズ
祝辞や定型文はjson形式で保存されており、それを変更することでオリジナルのメッセージに変更することができる。 祝辞はバリエーションが貧弱なのでオリジナルメッセージを追加することを推奨する。
祝辞
eventlist.json内にお祝いの条件とメッセージが一覧で保存されている。
{ "events": [ { "condition": "continuous", "value": 3, "message": "🎉おめでとうございます🎉\n連続3日目のログインです!" },
定型文
message.json内に定型文が保存されている。
{ "head": "*---*---*---* ログインボーナス *---*---*---*\n継続は力なり!毎日ログインしましょう", "total": { "info": " + 通算 <", "unit": "> 日目" }, "continuous": { "info": " + 連続 <", "unit": "> 日目" }, "today": { "info": " + 本日 <", "unit": "> 回目" }, "foot": "*---*---*---*---*---*--*---*---*---*---*---*" }