由于某厂的限制,icqq在使用一些登录设备时会报错45,235,237等。并提示
token失效: [禁止登录]登录失败,建议升级最新版本后重试,或通过问题反馈与我们联系。
在观察登陆行为与交互数据后,初步怀疑这是由于登陆设备签名被划归风险设备导致的。在此状态下的设备同样无法使用pc端qq或tim登陆。并回报00020错误,提示升级qq版本。
为了解决这个问题,应该首先保证icqq在0.3.1版本以上。如不达到,可以通过 pnpm up icqq 命令对其进行更新。在保证icqq版本足够新以支持新登陆接口的情况下,删除Yunzai/data/icqq文件夹下,qq号所对应文件夹的device.json文件,并确保没有生效的token文件以防反复触发风控。之后不要使用npm run login命令,而是直接运行node app,进行验证码配置,此时请选择old_android设备登陆,并通过验证码与手机验证,即可注册成功新设备。
注意,在使用多个账号时,应该首先将面临 45 或 235 错误的账号应用此方法,并保持有一个移动端设备是这个账号的常用设备,以降低风控风险。
同时,由于不使用npm run login命令,在使用多个账号的情况下,应更改Yunzai根目录/config/config文件夹内的qq.yaml文件中的账号信息,从而使得node app命令可以正确的引用yaml配置。
注:此方法仅通过Linux@Ubuntu系统下的实验,不能代表windows端等其他启动方法。Windows端的场景,请参照此工具:https://gitee.com/bling_yshs/YzLauncher-windows