見出し画像

IIDXSP全1bot説明書 + これまで追加した機能について

こんにちは、かたさんです。

3月末頃にIIDXSP全1botというbotを作りました。

これは、beatmaniaIIDX 29 CastHourの全国トップスコアのページを定期的にチェックし、更新された曲があればツイートしてお知らせするというものです。

ひっそりと動かしていましたが、意外と使ってくれている方がいて嬉しい限りです。

BPLプロ選手やその他国内外のトップランカーの方々からのフォロー通知が来る度にビビってます(ランカー厨)。

本記事では、このbotの説明書とともに、どうアップデートしてきたかの歴史を軽く記しておきます。

説明書

ツイートについて

全国トップのページを10分おきに確認し、更新があればツイートします。
営業時間は9:00 - 27:50としています。
(1時間あたり、29ページ×6のアクセス)

全自動なので、私が寝ていてもツイートします。
たまに22:13のような半端な時間にツイートすることもありますが、
これは配信を見ていた私が手動で起動している場合です。
(cronで叩く形にしてあるため、こういう使い方もできます)

ツイートのフォーマットは以下のような感じです。

また、本botの全ツイートは以下から検索可能です。

TOP RANKERページを見ているだけのbotなので、
次回作の稼働が始まったらしばらく動かなくなります。

対象曲

チェック対象曲は以下の通りです。(22/5/10時点で1574曲)

  • ☆8: SPA, SPL

  • ☆9: SPA, SPL

  • ☆10: SPA, SPL

  • ☆11: SPH, SPA, SPL

  • ☆12: SPH, SPA, SPL

これについては、BPL2021の課題曲リストに準拠しつつ、あまり曲数が多くない☆11,12のH譜面も入れる形としています。
☆10以下のH譜面は触っていない人も多そうなので外しています。
(例外処理が面倒なため、THE SAFARI等も対象外としています)

また、以下の曲は取得対象外となっています。

  • 解禁不可能な曲(解禁イベント前のExtra曲など)

  • 私が解禁していない曲(Fire Beat, OTOKOZAKA, SPARK IN THE NIGHT)

これは、公式サイトのTOP RANKERのページは解禁していない曲のデータが出ない謎仕様親切設計になっているためです。

歴代全1スコアとの差分について

masaoblue様のサイトで公開されている歴代全1スコアをベースとし、歴代全1との差分も表示しています。

素晴らしいサイトです。BPL2021の対戦結果も見ることができます。

ただし、上記サイトには歴代全1データが存在しない曲が一部あります。(儚き恋の華、Ignis†Irae等)
このような場合は(歴代?+22)のような表記を取るものとします。

(☆12なら探せば出そうですが、☆11以下の歴代スコアってまとめてる人とかいるんでしょうか…)

その他: 全1保持数グラフの作成

更新が多かった日にはプレイヤーごとの全1保持数のグラフを出力するようにしています(手動)。
bot化はしていませんが、何気にDPのデータも出せます。

ちなみに、自動化できないのはTwitterAPIのelevation申請が通っていないためです…。(画像投稿のために必要)

機能追加の歴史

ここからは、本botへの機能追加の歴史についてざっと振り返ってみます。

スコアレート表示

元々は☆11以下の全1更新を見たくて作ったbotだったので、
本bot稼働当初のツイートのフォーマットは以下のような感じでした。

しかし、自分でも「この曲何個落ちなんだろ?」と思うことが多くてイライラしたため、textage様の曲リストをベースにノーツ数を取得するようにしました。

こちらもかなりの神サイトです。
譜面画像を見られるのもそうですが、地味に曲リストのページが超使いやすいです。

このアップデートにより、MAXマイナス表記ができるようになりました。

低難易度への対応

当初は、譜面の難易度をIIDX公式サイトから取得していました。
プレーデータの難易度別表示から、各レベルの曲目を取得してリスト化し、
全曲データから取得対象の曲だけをフィルタリングして動かしていました。

しかし、この手法には問題がありました。
INFINITASメインであまりACをやらない私のカードでは☆11以下を全然触っておらず、レベルを取得できない曲が多いことに気付きました。

そこで、またしてもtextage様のデータをお借りし、レベル情報もアウトソーシングすることにしました。

ついでに、☆10以下の灰譜面を表示しないようにするアップデートも行いました。

対象曲目がBPLとほぼ同等となり、かなり使いやすくなりました。

歴代表記への対応

botへのフォロー通知から、iidx.info様という素晴らしいサイトの存在を知りました。

このサイトに触発され、自分もやってみようと思い本botに歴代全1との差分機能を追加し始めました。

当初はiidx.info様のデータをベースに、☆12の歴代差分のみを表示していました。

が、やっぱり☆11以下も知りたくなってしまったので、
masaoblue様のデータをお借りして、(ほぼ)全曲に対応するようにしました。
(約20ページ分のデータをExcelにコピペする作業は結構しんどかったです)

こうして、今の全1botが生まれました。

ちなみに、☆12の歴代全1スコアはこちらのアカウント様がかなりしっかり管理されています。

手動らしいですが、たまに本botよりもツイートが早いことがあって驚くばかりです。

役割被ってるんじゃないのか?という声も聞こえてくるかもしれませんが、
「誰のスコアか」をしっかり管理されている点で、本botとは全く違うものだと考えています。
(本botは、その時のカードネーム通りに表示するだけ)

全1保持数グラフ機能の追加

こちらはオマケ機能ですが、全1スコアを多く保持しているプレーヤーとその内訳を表示できるようにしてみました。

当初はこのようなフォーマットでした。

積み上げ棒グラフにすればもっと多くの人数を表示できるのでは?と思いつき、最終的にはこの形になりました。

全1保持数は基本的にパイの取り合いなので、
絶対数よりはプレーヤー間の関係を見やすくしたほうが断然良いなと思っています。

しかし、DPって上位数人が強すぎますね…。

SPの方も、☆12のランキングだけでは見えてこなかったことが色々分かって面白いです。

おわりに

ということで、IIDXSP全1botの説明書及びアップデートの歴史についてまとめてみました。

本音を言うならば、先日のDDRA3に対するChris氏のお気持ちツイートのようにコナミ側でリーダーボード的なものを用意してほしい所ではありますが、約1ヶ月の間で結構いいbotになってくれたんじゃないかなと思っています。

今後も本botをよろしくお願いいたします。

それでは。

この記事が気に入ったらサポートをしてみませんか?