HibiKier / zhenxun_bot

基于 Nonebot2 开发,非常可爱的绪山真寻bot
GNU Affero General Public License v3.0
3.36k stars 606 forks source link

B站订阅的动态投稿提醒AT配置项,在订阅类型为主播时,不会生效。关闭后依然会在推送动态时进行AT全体 #1440

Closed zhx79513 closed 2 months ago

zhx79513 commented 1 year ago

系统版本:Ubuntu 22.10

真寻版本:0.1.6.7

错误截图

图片

屏幕截图 2023-06-01 132126 将 UP_MSG_AT_ALL 项设置为 false ,并将 LIVE_MSG_AT_ALL 设置为 true 时,以添加订阅主播方式订阅了主播,在主播发送动态时,仍然会进行AT全体成员。

日志截图

错误说明

https://github.com/HibiKier/zhenxun_bot/blob/83b108f91f98d2b72d0c30d8fb71d86ed6072853/plugins/bilibili_sub/__init__.py#L255-L264

当 get_sub_status() 传入的 sub.sub_type 为 "live" 时,get_sub_status() 只检查了直播状态,所以单独对 "live" 类型又以 "up" 类型进行了一次UP主动态的检测。但之后的262行的 send_sub_msg 里传入的只是 sub,根据 sub.sub_type ,这里传入的类型依然为 "live"。这导致了:

https://github.com/HibiKier/zhenxun_bot/blob/83b108f91f98d2b72d0c30d8fb71d86ed6072853/plugins/bilibili_sub/__init__.py#L286-L293

对主播类型的动态进行推送时,依然以 LIVE_MSG_AT_ALL 选项进行的判断,忽略了 UP_MSG_AT_ALL。以致于对动态的推送依然进行了AT全体成员。