Code Monkey home page Code Monkey logo

Comments (9)

andywang425 avatar andywang425 commented on August 30, 2024

感谢反馈,以下是我针对你提出的问题做出的改进和一些看法:
1.简化判断逻辑,无论房间长短号是否相同都不影响判断。
2.因为加载脚本6秒后会检查小时榜,在6秒后跳转会影响抽奖,所以暂时改为5.5秒。
3.修复了相关bug,现在若当前房间可以获得小心心不跳转。
4.【跳转房间后移除直播画面并静音】不过只是不播放而已,做不到不获取直播流。而且如果网络环境很差还会失败,也许以后会改进。我打算把这个功能整合到移除页面元素里,再搞个设置框供用户选择移除哪些元素。
5.因为没法判断什么时候小心心达到上限,所以有点难实现。暂时不做这个功能。

from blth.

4266464 avatar 4266464 commented on August 30, 2024

感谢回复,关于5.我的一点看法:
【小心心达到上限】的充分必要条件确实不好判断,但是可以使用充分条件【包裹中时长为7天的小心心的数量是24个】来进行判断,达到这个条件就肯定是达到上限了。
但是达到上限时并不一定会有24个,可能已经送出去了,因此不是必要条件。也就是说有可能无法跳转到未开播房间,但这也并不会造成比原来更坏的结果。

当然这只是我的个人意愿,想要减少挂机的内存和网络占用。至于判断【包裹中时长为7天的小心心的数量是24个】是否容易实现我也不是很清楚(但我感觉跟判断剩1天的辣条差不多),所以如果比较麻烦或者你不想做也完全没问题啦。

作为一个只会提要求的伸手党我真的已经非常感谢你这么高的互动和更新频率了。

from blth.

andywang425 avatar andywang425 commented on August 30, 2024

感谢回复,关于5.我的一点看法:
【小心心达到上限】的充分必要条件确实不好判断,但是可以使用充分条件【包裹中时长为7天的小心心的数量是24个】来进行判断,达到这个条件就肯定是达到上限了。
但是达到上限时并不一定会有24个,可能已经送出去了,因此不是必要条件。也就是说有可能无法跳转到未开播房间,但这也并不会造成比原来更坏的结果。

当然这只是我的个人意愿,想要减少挂机的内存和网络占用。至于判断【包裹中时长为7天的小心心的数量是24个】是否容易实现我也不是很清楚(但我感觉跟判断剩1天的辣条差不多),所以如果比较麻烦或者你不想做也完全没问题啦。

作为一个只会提要求的伸手党我真的已经非常感谢你这么高的互动和更新频率了。

我也很感谢你能提出这些建议,你每次提issue都把问题描述得很详细,也挺辛苦的。
我刚刚又想到一种思路,就是通过挂机的时间是否到了120分钟来判断。不过由于页面刷新会影响判断,做这功能得稍微花点时间。我个人认为这种方法比判断【包裹中时长为7天的小心心的数量是24个】要好,因为只要时间到了脚本就一定会跳转到不开播房间。

from blth.

4266464 avatar 4266464 commented on August 30, 2024

但需要注意的是,120分钟是个必要不充分条件,区别是:
24个一定满上限,但上限满不一定有24个。
上限满一定要120分钟,但120分钟不一定满上限。

原因是B站发放小心心的观看时长由于网络等原因好像并不严格是5分钟,尤其是第一个五分钟,可能会有一定延后。其次是刷新房间好像会重置当前计时,类似于银瓜子宝箱,也就是假如看了4分钟时刷新,会需要再看5分钟才会发放一个小心心,但实际用了9分钟。所以实际上达到上限所需的时间可能要大于120分钟(除非网络非常好且是连续挂满120分钟)

采用必要不充分条件的风险是 可能脚本计时已经达到了120分钟但小心心并没有满,跳到未开播房间后今天就无法获得剩余小心心了。相比于无法跳出直播间,我认为无法获得全部小心心损失更大一些。

结合以上我提出一个双重判定:

  1. 时长7天的小心心达到24个 -> 必定跳出
  2. 当前直播间连续挂机130分钟 -> 也跳出
    (要求脚本自动刷新时间大于2小时,因为非连续挂机状态120分钟是有很大可能不满的,同时这个方式也避开了页面刷新影响计时的困难)
  3. 复杂一点的话可以将前两点结合起来:加载脚本时检测当前包裹中7天小心心的数量为x,当连续挂机达到(24-x)*5分钟后延时几分钟跳出直播间,或再次检测7天小心心数量为24也跳出。
    (其实这种方法就一定程度避免了刷新对计时的影响,与其费力去记录刷新前到底挂了几分钟,不如直接看获得了几个小心心,当然这还是要求用户没有手动送出。这只是降低了判断失败的损失而已,相当于一个双保险)

P.S.
我还是坚持认为7天小心心24个判断成功率挺高的。
想要触发上限满了不一定有24个,就必须要在挂脚本的前两个小时内手动送出刚获得的小心心。
然而在实际实践中对于长期(非首次)使用脚本的用户来说,这就意味着要在凌晨去送;而且一般情况下7天的小心心不会当天全部送完(不会被脚本自动送出),即使凌晨要送也可以送前几天获得的小心心。

from blth.

andywang425 avatar andywang425 commented on August 30, 2024

挺好的建议,但是等级礼包会送小心心,所以以小心心为判断标准可能会提早结束。
我打算先把这个模块的基础功能做好,确定没bug后再进一步完善。一下子更新太多内容我压力也挺大的。

听群友说现在小心心到上限后b站会有一个浮动条提示,我明天或者后天抓包看看能不能通过调用api的方式来判断小心心数量是否到达上限。这应该比我们之前讨论的方式都要靠谱。

from blth.

4266464 avatar 4266464 commented on August 30, 2024

听群友说现在小心心到上限后b站会有一个浮动条提示,我明天或者后天抓包看看能不能通过调用api的方式来判断小心心数量是否到达上限。这应该比我们之前讨论的方式都要靠谱。

请问3.7.3版本中是否已经加入了小心心满上限后自动跳出开播房间的功能?
还有一个我没有实测,但是想问一下:包裹中若有剩余1天的小心心,自动送礼时会随辣条一同送出吗?
若会,不知道程序中对于1小心心=50辣条这一点有没有处理好,以免只按数量赠送造成亲密度上限溢出

另外想问一下3.7.3版本中新加入的自动点亮勋章功能的一些细节:

  1. 关于点亮频率:A.每天点亮一次;B.熄灭时(7天后)才会触发点亮;C.其他
  2. 关于点亮时间:A.凌晨与每日任务一起进行;B.夜晚在自动送礼时优先进行;C.其他
  3. 关于点亮方式:A.每房赠送一个小心心,多余的保留,若不足则略过;B.剩余的小心心(无论几天)也会一并送出;C.不足的房间会赠送金瓜子道具(若有金瓜子)

我个人希望的是BAA,多余小心心由自动送礼送出(因为不想每天给不常用主播送一个小心心浪费礼物,但又不想让粉丝勋章熄灭)

from blth.

andywang425 avatar andywang425 commented on August 30, 2024

现在是BBA。
小心心亲密度问题在点亮时和送礼时都有做处理。

from blth.

4266464 avatar 4266464 commented on August 30, 2024

现在是BBA。
小心心亲密度问题在点亮时和送礼时都有做处理。

好的,谢谢回答。另外求每天多次自动送礼的功能。
网络断断续续的,经常在0点时没网,好多礼物就白白过期了。
希望可以加一个每隔多长时间就自动送一次的功能,比如每次自动刷新直播间之前送一次(这样都不需要额外写计时模块了),谢谢
虽然我也有手动点立即送礼,但是到快凌晨那会儿经常记不起来

from blth.

andywang425 avatar andywang425 commented on August 30, 2024

现在是BBA。
小心心亲密度问题在点亮时和送礼时都有做处理。

好的,谢谢回答。另外求每天多次自动送礼的功能。
网络断断续续的,经常在0点时没网,好多礼物就白白过期了。
希望可以加一个每隔多长时间就自动送一次的功能,比如每次自动刷新直播间之前送一次(这样都不需要额外写计时模块了),谢谢
虽然我也有手动点立即送礼,但是到快凌晨那会儿经常记不起来

3.8.2更新了间隔时间送礼的功能,你可以试试看

from blth.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.