-
-
Notifications
You must be signed in to change notification settings - Fork 106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
【错误回报】haruka_bot | 爬取动态失败:-352 -352 #422
Comments
同样出现 |
+1 但是好像不影响直播推送、动态推送? |
+1,而且没办法推送动态和直播了 |
+1 |
-833 -412之类的解决了吗 |
+1 |
臣附议,同样出现 |
+1 同样出现类似情况。无法正常推送动态,每10s(HARUKA_INTERVAL)报错一次。 |
同样出现 |
+1 |
1 |
+1,急急急 |
+1 爬取动态失败:-352 -352
时间:2023-08-23 15:58:37
日志记录位置:File C:\Users\Administrator\Desktop\QBot\main06\.venv\lib\site-packages\haruka_bot\plugins\pusher\dynamic_pusher.py, line 52, in dy_sched |
+1,直播推送正常,动态推送有延迟,可能出现几小时的延迟 |
+1,四天了,求求大佬们看一看 |
+1,但是直播推送,动态推送均正常。 |
原因我发现了是 HarukaBot/haruka_bot/plugins/pusher/dynamic_pusher.py Lines 38 to 44 in 6d45457
恰好这个请求不需要metadata 如果携带就会-352错误,下面是最小化的demo,如果用之前的就是获取到了-352 import grpc
from google.protobuf.json_format import MessageToDict
from bilireq.grpc.protos.bilibili.app.dynamic.v2 import dynamic_pb2_grpc, dynamic_pb2
from bilireq.grpc.utils.metadata import make_metadata
def main():
channel = grpc.secure_channel(
"grpc.biliapi.net",
grpc.ssl_channel_credentials(),
)
stub = dynamic_pb2_grpc.DynamicStub(channel)
request = dynamic_pb2.DynSpaceReq(host_uid=1, history_offset="", page=1)
# metadata = make_metadata()
metadata = tuple()
try:
response = stub.DynSpace(
request,
metadata=metadata,
)
response_json = MessageToDict(response)
print(response_json)
except grpc.RpcError as e:
print(f"Error encountered: {e}")
if __name__ == "__main__":
main() 不过这个修改应该是在另一个仓库提pr😄 有一个替代的简单方法 这个函数不传参数metadata即可 oh ,发现这个还是不解决问题,本地复现是可以避免 但是好像服务器还是会疯狂写日志 我再研究下 |
照着改了bilireq库 https://github.com/SK-415/bilireq/blob/main/bilireq/grpc/dynamic/__init__.py 的这一行不传第二个参数后,测试了不报错352,动态能及时推送了,十分感谢!!! |
由于harukabot报错,根据大佬提示删除metadata传参 见如下链接 SK-415/HarukaBot#422
应该是这个接口有限流操作 刚才那个只是临时解决 发现部署在服务器上 经过测试 加大 |
写-352日志的间隔时间=HARUKA_DYNAMIC_INTERVAL设置的时间 |
原来是如此的机理……我后来没管它 它也开始自己推送了我甚至都没反应过来,这个方法确实有效果我去改一下上面的评论() |
改ua的办法已经无效了(
|
上面noahlias说过是HARUKA_DYNAMIC_INTERVAL*(你的关注人数+1)秒钟。 |
好家伙 原来如此 |
现在的解决方法是按照这个PR自行修改site-packages 中的bilireq库 |
我修改了bilireq库之后还是会报错 |
尝试增加HARUKA_DYNAMIC_INTERVAL呢?报错仍然是-352吗 |
非常感谢!能正常运行了! |
这个变量的位置在哪呀 |
bilireq/grpc/dynamic/init.py 第26行
|
好的,谢谢~ |
好像还是不行,是要等多久才可以不报错352吗 动态好像也推送不了了,之前没改的时候是要等一段时间才会推送动态 |
等待推送的时间取决于你的关注人数,如果还报错应该提升你的.env.*文件内的HARUKA_DYNAMIC_INTERVAL配置项。 |
遇到同样的问题,在下面几个步骤后不再报错,但是不清楚什么原因造成的报错
|
如果你是刚刚修改,请等待一段时间(取决于你的关注人数,具体可以爬楼看上面的解释)才能获取正常的推送。 |
运行环境
Windows Server 2022、Windows 11
HarukaBot 版本
v1.6.0.post5
go-cqhttp 版本
v1.1.0
错误描述
两台机子都出现大量报错并且无法推送动态消息
报错日志(如果有)
The text was updated successfully, but these errors were encountered: