Dawnnnnnn / bilibili-live-tools

python实现的bilibili直播助手
MIT License
791 stars 170 forks source link

添加 docker 版对 user.conf 配置文件的支持 #293

Closed shenmishajing closed 4 years ago

shenmishajing commented 4 years ago

将原版的 user.conf 文件从 git 仓库中重命名为 user.sample.conf 文件,git 仓库中不再具有 conf/user.conf 文件,使得 docker 版可以像 docker-compose.sample.yml 文件中通过挂载外部的 user.conf 文件提供配置。 顺便添加了对时区的支持和对随机跳过舰长礼物以减小被封概率的功能。

Billyzou0741326 commented 4 years ago

概率性跳过舰长 而且还是不可调的... 目前没有这个需求的话不建议加

shenmishajing commented 4 years ago

自动送礼物的功能现在不再仅向佩戴的勋章送礼,而是向所有已有勋章送礼,送礼顺序是当前佩戴勋章-user.conf文件中定义的顺序-剩余勋章。

shoucandanghehe commented 4 years ago

自动送礼物的功能现在不再仅向佩戴的勋章送礼,而是向所有已有勋章送礼,送礼顺序是当前佩戴勋章-user.conf文件中定义的顺序-剩余勋章。

建议改成即将过期的礼物再向其它勋章投喂,有时候要囤点辣条留着黑屋应急

yawwwwwn commented 4 years ago

问题很多:

  1. 代码里修改格式加空格这个问题。我知道我们代码写得很乱,几个 contributors 的习惯也不一样。所以不需要大家来帮我们改,这不重要。
  2. 个人觉得一定概率放弃抢这个机制跟掩耳盗铃没区别,不予采纳。除非你在控制变量的情况下证明不概率放弃与进黑屋有统计学上的关联。
  3. 你 README 里加的那一段只适合加在你的 fork 项目,不适合 PR 过来。且你学其他项目将 conf/user.conf 改成了 conf/user.sample.conf,这个属于开发者个人喜好吧,没必要。我们的用户不是所有人都用 docker,不应把过多操作放在 docker 文件中。
  4. 自动送礼这部分。
    • 首先你在自己的 user.conf 加了['auto-gift']['sort_list'],但由于你将仓库代码改成了 user.sample.conf,所以这个修改没推上来。
    • 然后用 sort 这个词命名来表示“用户自主选择的”这个意思是不恰当的,别的 contributor 已经指出。
    • temp.reverse() 然后 range() 的 step 参数又设为 -1 是想干什么?
    • 获取的礼物列表我目前看到已经是按照要过期时间排序的,额外排序的必要性待考证。
    • 你的 fetch_medal() 返回值把用户没指定的送礼直播间又加在了后面,不还是返回所有直播间吗?所以你的 auto_send_gift() 是送满所有勋章?
    • 最后就是送礼这里的逻辑问题。你本意是想每天给多个勋章刷满,但是从其他用户的回复就能看出来,有些人不想过多透支之后的礼物,想在无收入时仍然能刷第一目标勋章。所以你这样修改是不行的。我自己目前的策略是,当天要过期的如果送满第一目标还有多的礼物,再送给其他指定的直播间。有空会更新,先鸽置。
shenmishajing commented 4 years ago

@yawwwwwn 我逐个回应一下吧…… 1、代码修改格式的问题,是pycharm自动帮我修改的,你喜欢原来的格式可以在merge的时候使用原来的。 2、我只是见过其他项目里有人讨论概率性跳过会降低被封机率,没有相应数据,同样的,你不喜欢可以在merge的时候使用你原来的代码,不必跟我商量。 3、README里的那一段同理,我只是提一个pr,你才是项目所有者,你不喜欢的都可以在merge的时候改用自己的,不需要跟我说……至于user.sample.conf那个不是个人喜好,如果项目里的是user.conf文件那么如果通过挂载的方式向docker容器提供user.conf文件会挂在 git pull 那一步,这也是我提这个pr的初衷。 4、自动送礼这部份

yawwwwwn commented 4 years ago

如果项目里的是user.conf文件那么如果通过挂载的方式向docker容器提供user.conf文件会挂在 git pull 那一步 @Dawnnnnnn

先 reserve 再倒序遍历的我懂了。

就我的理解啊,pull request 这个功能就是以 merge 为目的的,向项目中贡献自己的纠错与实现。你这种分享展示个人喜好的操作我不是很理解。我解释这么多只是怕你接受不了,你能接受那就好办了。可以自用但是不适合更新给所有用户的,直接关。

shenmishajing commented 4 years ago

每个项目的持有者想要实现不同的功能是很正常的,不然 fork 这个功能的存在也就没有意义了。 我提这个pr确实是以merge为目的的,不过最近没又太多的时间处理这个项目pr时的细节,就干脆把merge时调整的任务丢给你们了,提这个pr的分享的目的就只是说不定你们会喜欢这儿的一部分feature,仅此而已,既然你们不喜欢,那也无所谓。