LuckyPray / XAutoDaily

一个基于QQ的全自动签到模块
GNU General Public License v3.0
1.07k stars 22 forks source link

Fixed # 部分用户无法点击20次点赞,在20次点赞失败后,尝试改为点赞10次。如果再次失败,再判定为最终失败。 #67

Closed chunfengyao closed 1 year ago

chunfengyao commented 1 year ago

经测试,一定程度上可以避免点赞和回赞失败。 很奇怪,按这里的代码,应该是可以无视20次限制的,但是,实际上,依然会报点赞超时,实测,点赞超时的原因是只能点10次。 已测试,点赞10次是可以正常得到点赞成功的响应的。

teble commented 1 year ago

如果是这样的话,有没有可能是服务端目前判断了点赞次数是否超过了剩余点赞次数,这样改的话感觉有点治标不治本。 可以测试一下手动点赞几次后(小于10次),然后再点赞10次是否会产生失败的情况如果还是会失败那就只能用这里获取剩余点赞次数来点赞了 https://github.com/LuckyPray/XAutoDaily/blob/b366d2e229097d1f42badadb4fba94ab636616cf/app/src/main/java/me/teble/xposed/autodaily/hook/function/impl/FavoriteManager.kt#L131

chunfengyao commented 1 year ago

如果是这样的话,有没有可能是服务端目前判断了点赞次数是否超过了剩余点赞次数,这样改的话感觉有点治标不治本。 可以测试一下手动点赞几次后(小于10次),然后再点赞10次是否会产生失败的情况如果还是会失败那就只能用这里获取剩余点赞次数来点赞了

https://github.com/LuckyPray/XAutoDaily/blob/b366d2e229097d1f42badadb4fba94ab636616cf/app/src/main/java/me/teble/xposed/autodaily/hook/function/impl/FavoriteManager.kt#L131

嗯,如果手动点了几个,就无法自动了。 但是,这个剩余点赞次数,是要被点赞者出现在历史点赞记录里的。 或者,是不是可以直接用1循环,对于每个待点赞对象,每次点一个赞,直到点赞失败,并且,有任何一次点赞成功,则判定当前人的点赞完成。

chunfengyao commented 1 year ago

这样也和用户手动点赞类似,一个个点。

teble commented 1 year ago

那就估计是后来服务端加了参数校验之类的了,之前发现无脑填20可以用就图省事没去获取有效点赞次数

这样也和用户手动点赞类似,一个个点。

这样处理会有问题的,无法判断是否因为休眠/网络还是超限导致的超时,这个估计得另外加协议请求获取有效点赞次数才能解决

chunfengyao commented 1 year ago

嗯,如果能获取到可点赞次数,倒是可以很好得解决这个问题。

chunfengyao commented 1 year ago

我先提交了一个每次点赞一个的(已测试过)。如果可以获取到点赞次数,就用可点赞次数来解决这个问题吧。

teble commented 1 year ago

目前就算合了这个也发不了版,因为还要改别的东西,我抽时间把获取有效次数加上,而且很多人都是点赞七八百个好友,*20+sleep这个请求次数与时间会变得更长会导致变得更不稳定,你自己先用自编译的吧