Hoshinonyaruko / Gensokyo

基于qq官方api开发的符合onebot标准的golang实现,轻量、原生跨平台.
GNU General Public License v3.0
666 stars 44 forks source link

与nonebot对接后nonebot抛出无法获取上下文的报错 #76

Closed luosheng520qaq closed 11 months ago

luosheng520qaq commented 11 months ago

11-12 14:07:59 [ERROR] nonebot | Rule check failed for Matcher(type='message', module=plugins.teach, lineno=57). Traceback (most recent call last): File "D:\aila\aila\bot.py", line 41, in nonebot.run(app="__mp_main:app") File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\nonebot\init__.py", line 331, in run get_driver().run(*args, *kwargs) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\nonebot\drivers\fastapi.py", line 201, in run uvicorn.run( File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\main.py", line 587, in run server.run() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\uvicorn\server.py", line 61, in run return asyncio.run(self.serve(sockets=sockets)) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 190, in run return runner.run(main) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 118, in run return self._loop.run_until_complete(task) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 637, in run_until_complete self.run_forever() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\asyncio\windows_events.py", line 321, in run_forever super().run_forever() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 604, in run_forever self._run_once() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 1909, in _run_once handle._run() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\asyncio\events.py", line 80, in _run self._context.run(self._callback, self._args) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\nonebot\message.py", line 457, in check_and_run_matcher if not await _check_matcher(

File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\nonebot\message.py", line 363, in _check_matcher ) or not await Matcher.check_rule(bot, event, state, stack, dependency_cache): File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\nonebot\internal\matcher\matcher.py", line 389, in check_rule return event_type == (cls.type or event_type) and await cls.rule( File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\nonebot\internal\rule.py", line 73, in call results = await asyncio.gather( File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\nonebot\dependencies__init.py", line 113, in call__ return await cast(Callable[..., Awaitable[R]], self.call)(**values) File "D:\aila\aila\plugins\teach.py", line 36, in judge_o return True if event.get_user_id() in start else False File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\nonebot\adapters\onebot\v11\event.py", line 53, in get_user_id raise ValueError("Event has no context!") ValueError: Event has no context!

以下是配置文件 image

Hoshinonyaruko commented 11 months ago

你的机器人密钥露出来了

Hoshinonyaruko commented 11 months ago

机器人能正常发送文字和图片吗

Hoshinonyaruko commented 11 months ago

可以看一下这个插件仓库地址吗 File "D:\aila\aila\plugins\teach.py", line 36, in judge_o return True if event.get_user_id() in start else False

Hoshinonyaruko commented 11 months ago

我认为可能不是gensokyo出问题,gensokyo的事件是包含了user_id的,而且类型也是正确的

Hoshinonyaruko commented 11 months ago

经过其他nonebot2群友测试,问题没有复现,fortune正常,标题与问题不符,报错并非nonebot2问题,建议排查D:\aila\aila\plugins\teach.py代码逻辑