SilveryStar/Adachi-BOT

指令 `mys` 使用失效 cookie 后,短时间内再次查询报错:`SyntaxError: Unexpected token u in JSON at position 0`

Closed this issue · 10 comments

系统版本

Windows 10 Pro (19043.1348)

Node.js 版本

12.22.7

应用版本

2.2.0-bugfix3

启动方式

No response

复述操作

使用 mys 查询账号信息后,由于初次查询使用了失效 cookie,在该情况下短时间内再次查询无法给出查询结果。

配置文件

错误报告

[22:20:22.292] [iPad:*****] [ERROR] [Event] SyntaxError: Unexpected token u in JSON at position 0
    at JSON.parse (<anonymous>)
    at D:\Adachi-BOT\src\plugins\genshin\routes\card-route.ts:10:22
    at step (D:\Adachi-BOT\src\plugins\genshin\routes\card-route.ts:33:23)
    at Object.next (D:\Adachi-BOT\src\plugins\genshin\routes\card-route.ts:14:53)
    at fulfilled (D:\Adachi-BOT\src\plugins\genshin\routes\card-route.ts:5:58)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
[22:20:32.236] [iPad:*****] [ERROR] [Event] TimeoutError: Navigation timeout of 30000 ms exceeded
    at D:\Adachi-BOT\node_modules\puppeteer\src\common\LifecycleWatcher.ts:204:18

失效指超过次数了吗?

应该是需要重新登陆,cookie过期了那种

初次查询返回了正常的图片?还是什么其他的结果

emm 看来是我没表述清楚,完整情况是这样的:
第一次发送 /mys 之后,提示“米游社接口报错:Please Login”,随即我检查了一遍 cookie.yml 里面的所有 cookie,删除了失效的(大概用了十几分钟)
然后我觉得没问题了,再发了一遍指令,然后报了如题的这个错误,当然也就什么都没发出来

我暂时不清楚这边的 cookie 池是怎么用的,就比如有没有自动清理失效 cookie 或者有没有用了失效的 cookie 之后用其他的重试。或许之后可以优化一下?

emmm 其实 cookie 就是最简单的调用方法,启动的时候读入所有的,然后轮询

啊这这这,没有失败使用其他的尝试的机制吗
虽说现在好像已经不需要了毕竟米游社查不了别人的完整记录了

是这样的(

我觉得这 issue 可以关了之后可能遇不到这种情况了

现在正在想办法呢还,不过估计也是按公告里的办法执行
而且其实失败判断也不好用,像那种 data not public 之类的错误也不好整,也有可能因为网络问题造成的请求失败,所以没写失败重试