すごい今さら感があるけど、書こう書こうと思ってずっと書いてなかったので書いておく。
イカリングで友達入ってるのかとか、Twitterのスプラトゥーン ステージ情報botでこの後のステージなんなのかとか毎回調べるのめんどうですよねぇ。
イカリング、描画のjsがGCしてないのかCPU使用率がめちゃくちゃ高くなってファンがファーーってなるしくそ
メニューバーに表示されてたら楽なのにって思って表示させるようにしました。
Bitbar
表示させるツールとしてはBitbarを使いました。Shellスクリプトでもいいし、好きな言語で標準出力に出せば表示できるのは便利です。
最初、Shellスクリプトで書いてたけどeachとかArray#joinとか使いたくなってRubyに書き換えました
Bitbarで実行するRubyのコード
#!/usr/bin/env /Users/yutaka/.rbenv/shims/ruby
require 'splapi'
require 'time'
require 'httparty'
puts 'Splanet'
puts '---'
client = SplAPI::Client.new
def print_stage(h)
puts "#{Time.parse(h['start']).strftime('%H:00')}~ #{h['rule']}: #{h['maps'].join(', ')} | color=blue href=https://splatoon.nintendo.net/schedule"
end
puts 'Stages & Rule | size=16'
res = client.gachi_now.body
print_stage(res['result'][0]) if res['result'][0]
res = client.gachi_next_all.body
res['result'].each { |h| print_stage h } if res['result'].any?
puts '---'
puts 'Friends | size=16'
# ここはイカリングにログインして、Cookieに入っているwag_sessionをコピーしてください
wag_session = 'K25YUzJVYUxXTGU2YzJaSjRpWUNuR3VzTlM4ZXZPclJvdEFjdWk0Q2RYVVZGRFNGYVdUQ1hVRkJJT0luY295UG5WUzJPLzMVINHhIVE5aREQ0ckNJU2JZMVVZa0NOdFFkbWFqa1MzODhFQTR5cHcvY1dMNmRCRTBZemQ0SS82bkpnQTkzK2RqSVM0dDc5anV1aVhHUHFEYjQ5RDZFMFA3eXpGNllrdFdoUlpQWU9ZdHNMNnhYbEtKN1dFN0J6QUF5VzRvbUNpSVRIaFlFQStuYWhqcko5V0ZHc1BPTjVRTUJjcEY1SFVGcDMzeURieHJoOXhQQzJSTWZyQ0xxY2U2cG1rNzBaYW9KZjZaMkJTemZYUnVONmRsTEY1RUlsdlkvTVJtVnpack5uanJEVm9HRG5BU1VYaXZIUUVtcjkyZXMyYUtjeUtjOCtkenNjTzIrQkx4NUpmMjc1NjRDSEJqcDZodWNmOFV5LS1vdHVVTHA1TkRoU2d5QnZOeDFhVUNRPT0%3D--7bd8f9569'
res = HTTParty.get('https://splatoon.nintendo.net/friend_list/index.json', headers: { 'Cookie' => "_wag_session=#{wag_session}"} )
res.sort_by {|h| h['mode'] }.each do |h|
puts "#{h['mii_name']}: #{h['mode']} | color=black href=https://splatoon.nintendo.net/profile/#{h['hashed_id']}"
end
Rubyの実装
- rbenv使ってるので
#!/usr/bin/env /Users/yutaka/.rbenv/shims/ruby
とした - httparty, time, splapi gem を使う
- splapiでステージ情報を取得する
-
friend_list/index.json
でフレンド情報を取得する - session情報をcookieのwag_sessionという値を使ってるのでここだけは最初にブラウザでログインして、自分で取得する必要がある。
splapi gem
splapi - スプラトゥーンのステージ情報がとれるやつを作っている方がいたのでgemを作成させてもらいました。
ステージの情報はこちらから取得してます
まとめ
PCから簡単に友達がログインしてる状況を把握できるようになりました。便利。
イカ、よろしくー。