Tian-que / nonebot-adapter-kaiheila

Kaiheila adapter for nonebot2
MIT License
27 stars 10 forks source link

无法发送MessageSegment #5

Closed XM12G closed 1 year ago

XM12G commented 1 year ago

无论是finish中还是send中,均不能发送MessageSegment类型 image 报错: TypeError: Object of type MessageSegment is not JSON serializable 详细: Traceback (most recent call last): File "E:\Users\ji233\PycharmProjects\CuteProject\CuteRobot\bot.py", line 9, in nonebot.run() File "E:\Users\ji233\PycharmProjects\CuteProject\venv\lib\site-packages\nonebot__init__.py", line 261, in run get_driver().run(*args, *kwargs) File "E:\Users\ji233\PycharmProjects\CuteProject\venv\lib\site-packages\nonebot\drivers_block_driver.py", line 60, in run loop.run_until_complete(self.serve()) File "C:\Users\ji233\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py", line 629, in run_until_complete self.run_forever() File "C:\Users\ji233\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_events.py", line 321, in run_forever super().run_forever() File "C:\Users\ji233\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py", line 596, in run_forever self._run_once() File "C:\Users\ji233\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py", line 1890, in _run_once handle._run() File "C:\Users\ji233\AppData\Local\Programs\Python\Python39\lib\asyncio\events.py", line 80, in _run self._context.run(self._callback, self._args) File "E:\Users\ji233\PycharmProjects\CuteProject\venv\lib\site-packages\nonebot\message.py", line 146, in _check_matcher await _run_matcher(Matcher, bot, event, state, stack, dependency_cache)

File "E:\Users\ji233\PycharmProjects\CuteProject\venv\lib\site-packages\nonebot\message.py", line 196, in _run_matcher await matcher.run(bot, event, state, stack, dependency_cache) File "E:\Users\ji233\PycharmProjects\CuteProject\venv\lib\site-packages\nonebot\internal\matcher.py", line 668, in run await self.simple_run(bot, event, state, stack, dependency_cache) File "E:\Users\ji233\PycharmProjects\CuteProject\venv\lib\site-packages\nonebot\internal\matcher.py", line 635, in simple_run await handler( File "E:\Users\ji233\PycharmProjects\CuteProject\venv\lib\site-packages\nonebot\dependencies__init.py", line 92, in call return await self.call(values) File "E:\Users\ji233\PycharmProjects\CuteProject\CuteRobot\cuterobot\plugins\kook_logo__init__.py", line 59, in handler await matcher.finish(MessageSegment.KMarkdown("专属游戏玩家的文字、语音和组队工具","专属游戏玩家的文字、语音和组队工具")) File "E:\Users\ji233\PycharmProjects\CuteProject\venv\lib\site-packages\nonebot\internal\matcher.py", line 464, in finish await cls.send(message, kwargs) File "E:\Users\ji233\PycharmProjects\CuteProject\venv\lib\site-packages\nonebot\internal\matcher.py", line 449, in send return await bot.send(event=event, message=_message, **kwargs) File "E:\Users\ji233\PycharmProjects\CuteProject\venv\lib\site-packages\nonebot\adapters\kaiheila\bot.py", line 210, in send return await self.class.send_handler(self, event, message, reply_sender, is_temp_msg, kwargs) File "E:\Users\ji233\PycharmProjects\CuteProject\venv\lib\site-packages\nonebot\adapters\kaiheila\bot.py", line 121, in send return await bot.send_msg(params) File "E:\Users\ji233\PycharmProjects\CuteProject\venv\lib\site-packages\nonebot\adapters\kaiheila\bot.py", line 326, in send_msg return await self.call_api(api, params) File "E:\Users\ji233\PycharmProjects\CuteProject\venv\lib\site-packages\nonebot\adapters\kaiheila\bot.py", line 168, in call_api return await super().call_api(api, data) File "E:\Users\ji233\PycharmProjects\CuteProject\venv\lib\site-packages\nonebot\internal\adapter\bot.py", line 117, in call_api raise exception File "E:\Users\ji233\PycharmProjects\CuteProject\venv\lib\site-packages\nonebot\internal\adapter\bot.py", line 94, in call_api result = await self.adapter._call_api(self, api, **data) File "E:\Users\ji233\PycharmProjects\CuteProject\venv\lib\site-packages\nonebot\adapters\kaiheila\adapter.py", line 94, in _call_api data = json.dumps(data) File "C:\Users\ji233\AppData\Local\Programs\Python\Python39\lib\json__init__.py", line 231, in dumps return _default_encoder.encode(obj) File "C:\Users\ji233\AppData\Local\Programs\Python\Python39\lib\json\encoder.py", line 199, in encode chunks = self.iterencode(o, _one_shot=True) File "C:\Users\ji233\AppData\Local\Programs\Python\Python39\lib\json\encoder.py", line 257, in iterencode return _iterencode(o, 0) File "C:\Users\ji233\AppData\Local\Programs\Python\Python39\lib\json\encoder.py", line 179, in default raise TypeError(f'Object of type {o.class.name__} ' TypeError: Object of type MessageSegment is not JSON serializable

Tian-que commented 1 year ago

这边已经推0.0.3版本了,更新一下试试

XM12G commented 1 year ago

我用的是仓库最新版报错

XM12G commented 1 year ago

我是直接把仓库clone下来用的

XM12G commented 1 year ago

您好,我这里找到了一个解决方案 我能pull上来吗

XM12G commented 1 year ago

https://github.com/Tian-que/nonebot-adapter-kaiheila/pull/6 这里已经申请pull request了

Tian-que commented 1 year ago

已合入,感谢PR