NoneType:object has no attribute 'event_hooks'报错
Closed this issue · 7 comments
LeoWrDeom commented
环境
- nonebot-bison 版本:0.9.3
- nonebot 版本:2.3.2
- 安装方式:(以下方式的一种或者其他方式)
- 通过 nb-cli 安装
- 操作系统:
- Windows10
问题
请在这里描述你遇到的问题
后台报错,真实环境运行报错,又建了个虚拟环境重新装了nonebot2还是报错
日志
08-07 01:41:33 [INFO] websockets | connection open
08-07 01:41:33 [INFO] nonebot_plugin_saa | refresh bot platform target cache Bot(type='OneBot V11', self_id='1111111111')
08-07 01:42:04 [INFO] nonebot_bison | init rss-https://ngs.pso2-makapo.com/feed/ with set()
08-07 01:42:25 [INFO] nonebot_bison | init bilibili-120186 with set()
08-07 01:42:32 [ERROR] apscheduler | Job "Scheduler.exec_fetch (trigger: interval[0:01:00], next run at: 2024-08-07 01:43:32 CST)" raised an exception
Traceback (most recent call last):
File "G:\NoneBot2\Nonebot2E\bot.py", line 54, in <module>
nonebot.run(app="__mp_main__:app")
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot\__init__.py", line 335, in run
get_driver().run(*args, **kwargs)
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot\drivers\fastapi.py", line 186, in run
uvicorn.run(
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\uvicorn\main.py", line 577, in run
server.run()
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\uvicorn\server.py", line 65, in run
return asyncio.run(self.serve(sockets=sockets))
File "C:\Users\Leo\AppData\Local\Programs\Python\Python310\lib\asyncio\runners.py", line 44, in run
return loop.run_until_complete(main)
File "C:\Users\Leo\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 636, in run_until_complete
self.run_forever()
File "C:\Users\Leo\AppData\Local\Programs\Python\Python310\lib\asyncio\windows_events.py", line 321, in run_forever
super().run_forever()
File "C:\Users\Leo\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 603, in run_forever
self._run_once()
File "C:\Users\Leo\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 1909, in _run_once
handle._run()
File "C:\Users\Leo\AppData\Local\Programs\Python\Python310\lib\asyncio\events.py", line 80, in _run
self._context.run(self._callback, *self._args)
> File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\apscheduler\executors\base_py3.py", line 30, in run_coroutine_job
retval = await job.func(*job.args, **job.kwargs)
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot_bison\scheduler\scheduler.py", line 109, in exec_fetch
to_send = await platform_obj.do_fetch_new_post(SubUnit(schedulable.target, send_userinfo_list))
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot_bison\platform\platform.py", line 108, in do_fetch_new_post
return await catch_network_error(self.fetch_new_post, sub_unit) or []
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot_bison\platform\platform.py", line 53, in catch_network_error
return await func(*args, **kwargs)
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot_bison\platform\platform.py", line 342, in fetch_new_post
post_list = await self.get_sub_list(sub_unit.sub_target)
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot_bison\platform\ff14.py", line 27, in get_sub_list
client = await self.ctx.get_client()
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot_bison\utils\context.py", line 53, in get_client
self._register_to_client(client)
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot_bison\utils\context.py", line 28, in _register_to_client
client.event_hooks = hooks
AttributeError: ("'NoneType' object has no attribute 'event_hooks'", [])
08-07 01:43:32 [ERROR] apscheduler | Job "Scheduler.exec_fetch (trigger: interval[0:01:00], next run at: 2024-08-07 01:44:32 CST)" raised an exception
Traceback (most recent call last):
File "G:\NoneBot2\Nonebot2E\bot.py", line 54, in <module>
nonebot.run(app="__mp_main__:app")
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot\__init__.py", line 335, in run
get_driver().run(*args, **kwargs)
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot\drivers\fastapi.py", line 186, in run
uvicorn.run(
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\uvicorn\main.py", line 577, in run
server.run()
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\uvicorn\server.py", line 65, in run
return asyncio.run(self.serve(sockets=sockets))
File "C:\Users\Leo\AppData\Local\Programs\Python\Python310\lib\asyncio\runners.py", line 44, in run
return loop.run_until_complete(main)
File "C:\Users\Leo\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 636, in run_until_complete
self.run_forever()
File "C:\Users\Leo\AppData\Local\Programs\Python\Python310\lib\asyncio\windows_events.py", line 321, in run_forever
super().run_forever()
File "C:\Users\Leo\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 603, in run_forever
self._run_once()
File "C:\Users\Leo\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 1909, in _run_once
handle._run()
File "C:\Users\Leo\AppData\Local\Programs\Python\Python310\lib\asyncio\events.py", line 80, in _run
self._context.run(self._callback, *self._args)
> File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\apscheduler\executors\base_py3.py", line 30, in run_coroutine_job
retval = await job.func(*job.args, **job.kwargs)
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot_bison\scheduler\scheduler.py", line 109, in exec_fetch
to_send = await platform_obj.do_fetch_new_post(SubUnit(schedulable.target, send_userinfo_list))
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot_bison\platform\platform.py", line 108, in do_fetch_new_post
return await catch_network_error(self.fetch_new_post, sub_unit) or []
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot_bison\platform\platform.py", line 53, in catch_network_error
return await func(*args, **kwargs)
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot_bison\platform\platform.py", line 342, in fetch_new_post
post_list = await self.get_sub_list(sub_unit.sub_target)
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot_bison\platform\ff14.py", line 27, in get_sub_list
client = await self.ctx.get_client()
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot_bison\utils\context.py", line 53, in get_client
self._register_to_client(client)
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot_bison\utils\context.py", line 28, in _register_to_client
client.event_hooks = hooks
AttributeError: ("'NoneType' object has no attribute 'event_hooks'", [])
08-07 01:44:32 [ERROR] apscheduler | Job "Scheduler.exec_fetch (trigger: interval[0:01:00], next run at: 2024-08-07 01:45:32 CST)" raised an exception
Traceback (most recent call last):
File "G:\NoneBot2\Nonebot2E\bot.py", line 54, in <module>
nonebot.run(app="__mp_main__:app")
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot\__init__.py", line 335, in run
get_driver().run(*args, **kwargs)
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot\drivers\fastapi.py", line 186, in run
uvicorn.run(
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\uvicorn\main.py", line 577, in run
server.run()
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\uvicorn\server.py", line 65, in run
return asyncio.run(self.serve(sockets=sockets))
File "C:\Users\Leo\AppData\Local\Programs\Python\Python310\lib\asyncio\runners.py", line 44, in run
return loop.run_until_complete(main)
File "C:\Users\Leo\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 636, in run_until_complete
self.run_forever()
File "C:\Users\Leo\AppData\Local\Programs\Python\Python310\lib\asyncio\windows_events.py", line 321, in run_forever
super().run_forever()
File "C:\Users\Leo\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 603, in run_forever
self._run_once()
File "C:\Users\Leo\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 1909, in _run_once
handle._run()
File "C:\Users\Leo\AppData\Local\Programs\Python\Python310\lib\asyncio\events.py", line 80, in _run
self._context.run(self._callback, *self._args)
> File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\apscheduler\executors\base_py3.py", line 30, in run_coroutine_job
retval = await job.func(*job.args, **job.kwargs)
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot_bison\scheduler\scheduler.py", line 109, in exec_fetch
to_send = await platform_obj.do_fetch_new_post(SubUnit(schedulable.target, send_userinfo_list))
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot_bison\platform\platform.py", line 108, in do_fetch_new_post
return await catch_network_error(self.fetch_new_post, sub_unit) or []
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot_bison\platform\platform.py", line 53, in catch_network_error
return await func(*args, **kwargs)
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot_bison\platform\platform.py", line 342, in fetch_new_post
post_list = await self.get_sub_list(sub_unit.sub_target)
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot_bison\platform\ff14.py", line 27, in get_sub_list
client = await self.ctx.get_client()
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot_bison\utils\context.py", line 53, in get_client
self._register_to_client(client)
File "G:\NoneBot2\Nonebot2E\.venv\lib\site-packages\nonebot_bison\utils\context.py", line 28, in _register_to_client
client.event_hooks = hooks
AttributeError: ("'NoneType' object has no attribute 'event_hooks'", [])
- 我搜索过了 issue,但是并没有发现过与我类似的问题
- 我确认在日志中去掉了敏感信息
he0119 commented
已经定位到错误位置。
nonebot-bison/nonebot_bison/utils/site.py
Line 49 in 6694b5d
应该是用 DefaultClientManager
而不是 ClientManager
。待会儿会修一下,并尽快发版(
LeoWrDeom commented
felinae98 commented
AzideCupric commented
还有新问题,api报错是什么原因呀
是请求B站API时叔叔觉得你是机器人风控你的(这是计划的一部分.jpg
bison会根据策略进行处理,这是某个处理阶段,只要还没抛出异常就是还能用的,还不用太担心
felinae98 commented
要不要把 error 的等级降到 warning,如果这是计划的一部分的话
enKl03B commented
AzideCupric commented