やりたいこと
自宅にいるときに、たまにポケモンが現れるようなので、ポケモンGoを起動していない状態でもスマホへ通知したい。
実施した手順をメモしておく。
Botを動かそう
VPSもAWSアカウントも持っていない貧者なのでRaspberry PiでSlackBotを動かすことでインフラをサボることにする。
タイトルにラズパイっていれたけれど、特にセンサーを使ったり持ち歩いたりは想定せず、24時間起動しっぱなしのLinuxサーバとしてしか使っていない。
事前準備
- Slackのアカウントとチームを(なければ)作る https://slack.com/
- Slackのチャンネルを作る
- Incoming WebHooksで投稿するチャンネルを指定してURLを取得する https://my.slack.com/services/new/incoming-webhook/
- Slackアプリをスマホにインストールし、チームに参加する Slack - Google Play の Android アプリ
- ポケモントレーナークラブのアカウントがなければ作る ポケモントレーナークラブ | Pokemon.com
PokemonGo-SlackBotインストール
pythonはRaspberryPiに元から入っていたか覚えていないが、なければインストールしておく(ここでは省略)。
git clone https://github.com/rubenmak/PokemonGo-SlackBot.git cd PokemonGo-SlackBot sudo pip install -r requirements.txt
PokemonGo-SlackBot実行
./pokeslack.py -L ja -u トレーナークラブユーザ名 -p パスワード -l "GoogleMap座標" -st インターバル -r 探索半径(m) -sw WEBHOOK_URL
slackからスマホへ通知が来るかを確認する。
ポケモンアイコンの設定も出来るが、面倒なのでいったん省略した。
これで、PokemonGoのアプリを起動していなくても、出現したら通知が来るようになった。
通知の例
Skackの通知でタマタマがいるぞとと出たのでPokemonGoを起動すると・・・
ちゃんとタマタマがいた。
ほかにやっておきたいこと
- 自動起動(サービス化)
- 会社に行っているときは通知が無駄なので、時間制御か在宅制御を入れる
あたりはやろうと思う。 あと、たまに落ちるのでcronで生存チェックなどもしたほうが良いのかも。