Sora233 / DDBOT

一个基于MiraiGO的QQ群推送框架, 内置支持b站直播/动态,斗鱼直播,YTB直播/预约直播,虎牙直播,ACFUN直播,微博动态, 也可以通过插件支持任何订阅源。
https://ddbot.sora233.me
GNU Affero General Public License v3.0
518 stars 69 forks source link

[BUG]当机器人因为故障重启后,会推送一大堆下播通知导致账号风控 #128

Closed Waldo-Schaeffer closed 2 years ago

Waldo-Schaeffer commented 2 years ago

早上醒来发现机器人的账号信息昨晚过期了,于是重启了一下机器人 time="2022-03-29T06:47:43+08:00" level=error msg="freshLive FeedList error 账号信息缺失" module=bilibili-concern time="2022-03-29T06:47:43+08:00" level=error msg="DynamicSvrDynamicNew error 账号信息缺失" module=bilibili-concern time="2022-03-29T06:47:46+08:00" level=error msg="freshLive error 账号信息缺失" module=bilibili-concern time="2022-03-29T06:47:46+08:00" level=error msg="freshDynamicNew failed 账号信息缺失" module=bilibili-concern time="2022-03-29T06:47:46+08:00" level=error msg="watchCore error 账号信息缺失" cost=2.7377769s module=bilibili-concern time="2022-03-29T06:47:56+08:00" level=warning msg="stopping ..." bot=internal time="2022-03-29T06:47:56+08:00" level=info msg=stopped bot=internal

更新账号问题后,机器人刚启动就突然推送了一大堆下播通知,导致机器人消息被风控了 time="2022-03-29T07:46:58+08:00" level=error msg="发送群消息失败,可能是被禁言或者账号被风控" GroupCode= GroupName="" content="直播结束了[Image]" module=me.sora233.Lsp time="2022-03-29T07:46:58+08:00" level=error msg="发送群消息失败,可能是被禁言或者账号被风控" GroupCode= GroupName="" content="直播结束了[Image]" module=me.sora233.Lsp

操作系统版本:Windows Server 2012 R2 x64 BOT版本:1.0.4 x64

Waldo-Schaeffer commented 2 years ago

经过排查是昨天晚上19点发生的 time="2022-03-28T21:19:32+08:00" level="error" msg="刷新直播列表失败,可能是cookie失效,将尝试重新获取cookie" module="bilibili-concern" time="2022-03-28T21:19:32+08:00" level="error" msg="freshLive error freshLive FeedList error code -101 msg 账号未登录" module="bilibili-concern" time="2022-03-28T21:19:32+08:00" level="error" msg="DynamicSvrDynamicNew failed" RespCode="-6" RespMsg="" module="bilibili-concern" time="2022-03-28T21:19:32+08:00" level="error" msg="freshDynamicNew failed DynamicSvrDynamicNew failed -6 - " module="bilibili-concern" time="2022-03-28T21:19:32+08:00" level="error" msg="watchCore error freshLive FeedList error code -101 msg 账号未登录" cost="28.5116ms" module="bilibili-concern" time="2022-03-28T21:19:47+08:00" level="error" msg="freshLive FeedList error 账号信息缺失" module="bilibili-concern" time="2022-03-28T21:19:47+08:00" level="error" msg="DynamicSvrDynamicNew error 账号信息缺失" module="bilibili-concern" time="2022-03-28T21:19:47+08:00" level="error" msg="freshLive error 账号信息缺失" module="bilibili-concern" time="2022-03-28T21:19:47+08:00" level="error" msg="freshDynamicNew failed 账号信息缺失" module="bilibili-concern" time="2022-03-28T21:19:47+08:00" level="error" msg="watchCore error 账号信息缺失" cost="7.7839ms" module="bilibili-concern"

Waldo-Schaeffer commented 2 years ago

也就是说,19点半之前开播的主播,因为机器人故障导致推送下播通知的时间推迟到了今天早上7点统一通知,导致消息太多太快被风控了

Sora233 commented 2 years ago

你建议应该如何处理?

Waldo-Schaeffer commented 2 years ago

你建议应该如何处理?

一种思路是,当检测level为error的级别的日志的时候,私聊机器人admin处理,但是如果机器人admin在睡觉并不能及时处理还是不能彻底解决这个问题。

另一种思路是,启动ddbot的时候加个参数,就像--set-admin一样,可以灭活(deactive)启动,这样启动的时候检测到主播下播也不会发送下播提醒,只有机器人启动后才开播,或者正在直播的主播下播后,才会发送下播提醒。

Waldo-Schaeffer commented 2 years ago

你建议应该如何处理?

推荐使用第二种思路,就是灭活启动

Sora233 commented 2 years ago

v1.0.6支持配置不推送离线期间的B站动态和直播