nodeWechat / wechat4u

微信 wechat web 网页版接口的 JavaScript 实现,兼容Node和浏览器,微信机器人
1.77k stars 306 forks source link

微信登录后24小时内自动被迫登出 #334

Open superzou2021 opened 8 months ago

superzou2021 commented 8 months ago

我修改了node_modules/wechat4u/lib/wechat.js:302的new Error的内容,所有的自动登出报错由此产生,并使用cron.js设置每10分钟主动往群里发送一条消息,但是几个小时后,依旧莫名被退出登录,报错信息如下: 测试自动登出 17:20:0 uncaughtException GError: 状态同步超过351.401s未响应,5s后尝试重启当前时间17:21:21 at Wechat.checkPolling (/www/nodeserver/wechatrobot/node_modules/wechat4u/lib/wechat.js:302:19) at Timeout._onTimeout (/www/nodeserver/wechatrobot/node_modules/wechat4u/lib/wechat.js:323:25) at listOnTimeout (node:internal/timers:573:17) at process.processTimers (node:internal/timers:514:7) { code: 2, details: 'Error: 状态同步超过351.401s未响应,5s后尝试重启当前时间17:21:21\n' + ' at Wechat.checkPolling (/www/nodeserver/wechatrobot/node_modules/wechat4u/lib/wechat.js:302:19)\n' + ' at Timeout._onTimeout (/www/nodeserver/wechatrobot/node_modules/wechat4u/lib/wechat.js:323:25)\n' + ' at listOnTimeout (node:internal/timers:573:17)\n' + ' at process.processTimers (node:internal/timers:514:7)' } 可以明显的看出,我主动发送消息的时间是17:20:0,但是17:21:21却提示状态同步超过351s未响应,请问该如何解决这个问题

my19940202 commented 6 months ago

这个问题 后来有解决吗

allforone commented 3 months ago

+1

DogeVenci commented 2 months ago

+1

superzou2021 commented 2 months ago

抱歉各位,这个问题后面没有得到解决,但是我在官方的discrod群内看到了官方所推荐的付费框架中解决了这类的问题,如果你想免费使用这个框架,目前来看是需要接受这个缺陷的,如果你原意付费使用,那么官方有提供最新的,更为全面的api框架,大抵是通过一个pc版本的微信客户端+系统协议来对相关操作进行封装

superzou2021 commented 2 months ago

ok,各位开发者们,我忽然想到了一个可能性,并且我认为这个可能性比较合理。 我不清楚各位开发者们是用什么进行扫码登录的,但是我自己是使用手机登录了微信之后进行扫码登录,由于微信的移动端优先级最高策略,当手机上的微信退出登录或者断了网络(总之就是手机端和微信服务器断开连接)超过一定的时间之后,微信就会被判断为离线状态,依赖于手机端登录的web微信也会被退出登录,所以有可能这就是框架抛出一个心跳检测超时的错误原因?(存疑)。 解决思路如下: 1.我开始的时候以为是因为长时间没有发送消息,所以使用cron.js设置了定时任务,主动在群内不断的发送消息,依然超时,失败 2.考虑是否能租赁一个云手机或者在服务器上部署一个安卓模拟器的应用,然后尽可能的让App的微信保持一个登录状态,然后再运行你的程序,扫码登录。(由于成本问题,我并未对此进行实践,如果有人进行该项尝试,欢迎与我分享结果)

allforone commented 1 month ago

pad版就是这个思路,可惜作者联系不上,不维护了

zuochenxue commented 4 weeks ago

抱歉各位,这个问题后面没有得到解决,但是我在官方的discrod群内看到了官方所推荐的付费框架中解决了这类的问题,如果你想免费使用这个框架,目前来看是需要接受这个缺陷的,如果你原意付费使用,那么官方有提供最新的,更为全面的api框架,大抵是通过一个pc版本的微信客户端+系统协议来对相关操作进行封装

你好 请问可以提供一下付费框架的链接吗