iwxyi / Bilibili-MagicalDanmaku

【神奇弹幕】哔哩哔哩直播万能场控机器人,弹幕姬+答谢姬+回复姬+点歌姬+各种小骚操作,目前唯一可编程机器人
http://pan.iwxyi.com/#s/7W3YlRNg
GNU General Public License v3.0
888 stars 117 forks source link

bug:pk播报对面在线大航海用户数量为0&默认配置播报提督数量误用舰长数量 #42

Open TiAmoPlus opened 2 months ago

TiAmoPlus commented 2 months ago

原获取对方在线大航海用户接口 https://api.live.bilibili.com/xlive/app-room/v2/guardTab/topList 其中有个字段"is_alive",目前恒定为0。所以这个接口无法再获取在线大航海用户数量了。

还有默认的"事件动作"->PK_MATCH_ONLINE_GUARD,在对方有总督,播报提督数量时,应该是有个变量guard2误写成guard1了。

我尝试着去看现在的一些接口。目前感觉有2个接口可以使用。 第1个接口: https://api.live.bilibili.com/xlive/general-interface/v1/rank/getOnlineGoldRank 这个接口原本也在"事件动作"->PK_MATCH_INFO 里用到,用于PK播报对面直播间信息的。我看了一下,应该能获取在线大航海数量的。 第2个接口: https://api.live.bilibili.com/xlive/general-interface/v1/rank/queryContributionRank 这个接口应该是最近才有的,原因是b站直播改版,高能榜单目前可以展示: 在线榜(又分为贡献值和进房时间) 日榜(又分为今日和昨日) 周榜(又分为本周和上周) 月榜(又分为本月和上月) 此接口用获取在线榜的方式也能获取在线大航海数量。但是此接口有个地方很奇怪,它的分页设计很怪,每页获取默认100个,当最后一页不足100个时,它好像会把前一页的部分用户拿来强行凑100个。这样可能会导致最后一页和倒数第二页的用户有部分重叠。 所以代码里有一处强行去重的操作。

稍后我会提交一个pr,希望可以帮助作者。同时若作者采纳了pr,还得再处理一下,比如删除旧代码,之类的。