React 前端导航

解决 node 使用 oicq 登录 QQ 提示" [温馨提示]当前QQ版本过低,请升级至最新版本后再登录。点击进入下载页面"

解决 node 使用 oicq 登录 QQ 提示" [温馨提示]当前QQ版本过低,请升级至最新版本后再登录。点击进入下载页面"

最近再尝试实现一个自己的 QQ 机器人,尝试用 node 来做实现,找到了 oicq 来做 QQ 的管理。

node 使用 oicq 登录 QQ 失败,提示如下:

[2023-01-04T21:43:50.973] [MARK] [Android:2982716591] - ----------
[2023-01-04T21:43:50.975] [MARK] [Android:2982716591] - Package Version: oicq@2.3.1 (Released on 2022/6/21)
[2023-01-04T21:43:50.976] [MARK] [Android:2982716591] - ----------
[2023-01-04T21:43:51.262] [MARK] [Android:2982716591] - 123.151.48.171:8080 connected
[2023-01-04T21:43:51.444] [MARK] [Android:2982716591] - 收到滑动验证码,请访问以下地址完成滑动,并从网络响应中取出ticket输入:***********(获取ticket的地址)
输入ticket:
*******(你输入的ticket)
[2023-01-04T21:44:14.035] [ERROR] [Android:2982716591] - [温馨提示]当前QQ版本过低,请升级至最新版本后再登录。点击进入下载页面

解决办法

修改 oicq 的 device.js 文件

找到 node_modules/oicq/lib/core/device.js 文件,修改内容如下:

const mobile = {
    id: "com.tencent.mobileqq",
    name: "A8.9.15.9425",
    version: "8.9.15.9425",
    ver: "8.9.15",
    sign: Buffer.from([166, 183, 69, 191, 36, 162, 194, 119, 82, 119, 22, 246, 243, 110, 182, 141]),
    buildtime: 1640921786,
    appid: 16,
    subid: 537138832,
    bitmap: 150470524,
    sigmap: 16724722,
    sdkver: "6.0.0.2494",
    display: "Android",
};

修改完成后再重新登录就成功了,我是做了这一步就成功了(这是我第一次登录).

2023年2月25日

过了一段时间后 token失效后重新登录又开始失败了,还是提示:

[温馨提示]当前QQ版本过低,请升级至最新版本后再登录。点击进入下载页面(错误码:235)

原因&如何解决:
oicq默认生成的设备信息是完全根据qq号来的,所以默认生成的设备被风控了就会一直被风控。因此需要修改 ~/.oicq/<qq号>/device-<qq号>.json 里面的信息,主要是改一下imei,避免风控,所以随便修改imei的几个数字,再重新登录认证能成功登录了。

2023年4月2日

今天又去 Linux 服务器重新登陆 QQ, 通过网页滑动验证码获取ticket输入后报错提示:

[禁止登录]你当前使用的QQ版本过低,请前往QQ官网im.qq.com下载最新版QQ后重试。(错误码:45)

然后有尝试了下本地 windows 登陆,通过网页滑动验证码获取ticket输入后依然报错:

[安全提醒]当前网络不稳定,登录失败。推荐使用常用设备或通过手机号登录。(错误码:237)

原因&如何解决:

原因是 QQ 更新了登陆协议,而 oicq 库未更新,暂时没找到解决办法,只能考虑换个 QQ 机器人框架来做,等后续有结果了再来更新。

借助go-cqhttp登录成功后替换device.json文件与token文件

使用go-cqhttp成功登录账号之后将其生成的device.json文件与token文件复制到oicq的data目录下成功登陆了,值得注意的是应当把两个文件分别命名为 device-{uid}.json 与 token (无后缀),希望能帮到你

尝试使用ipad,iwatch 等其他方式登录

声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。邮箱:farmerlzj@163.com。 本站原创内容未经允许不得转载,或转载时需注明出处: 内容转载自: React前端网:https://qianduan.shop/blogs/detail/68

#node#oicq

相关推荐

NodeJs发起https请求报错:certificate has expired

在egg中发起https请求时提示证书过期错误(certificate has expired)问题记录

Node定时任务怎么做

linux有crontab定时任务,那么在Node中,定时任务该如何实现?