Switchの在庫入荷をLINEで通知するbotを作った
いきさつ
これは半年前の話である.
スプラトゥーン2の発売を2か月前に控えた5月,Nintendo Onlineストアでは熾烈なSwitch争奪戦が繰り広げられていた.確実にスプラトゥーン2を発売日にプレイするために,不本意ではあるが私もその闘いに参加する必要があった.
Switch争奪戦とはすなわち,「Nintendo OnlineストアにSwitchの在庫が復活したら,すぐに購入手続きを行う」というもので,一見なんの困難もないように思われる.
しかし,
- 在庫復活のタイミングが日によってバラバラ
- 在庫復活して早い段階でアクセスしないと,ウェブページにアクセスが集中してサーバがダウンする
- 在庫復活して早い段階でアクセスしないと,すぐに在庫がなくなる
といった問題があった.とにかく,在庫の復活をいち早く知ることができれば,ほかの血に飢えたプレイヤーより優位に立てるのは間違いがなく,これが在庫状況を自動で通知するスクリプトを書こうと決意した経緯である.
システム概要
- Nintendoストアに定期的にアクセスして在庫状況を調べる
- 在庫があるなら,LINE notifyという通知APIで自分のLINEアカウントに通知
この図は当該システムを友人に説明した際の図である.3分で描いたにしてはよくできている.
通知がきたら,そこから先は自力で購入手続きをし,クレジット決済する(クレジット決済を以てSwitchの在庫確保が完了する).この購入手続きを自動化しようと試みたのだが,ログイン処理とかが簡単にはできなさそうだったのであきらめた.
事前準備
ボット自体は手持ちのPCで動くが,LINEで通知するためにはLINEが提供しているサービスを介する必要がある.そのサービスがLINE notifyというもので,自分のアカウントで利用するために個人のAPIキーを発行する必要がある。
運用した結果
通知がきても気づかない,通知がきてアクセスしたがすでにオンラインストアがダウンしていた,といったこともありましたが,そういった失敗を20回くらい繰り返したあと,無事購入できました.
余談
こういったアカウントもあり,わずかな遅延こそあるものの,様々なサイトの在庫状況を呟いている便利アカウント.
コード