Well2333 / nonebot-plugin-bilichat

一个通过 OpenAI 来对b站视频进行总结的多功能 B站解析插件
GNU Affero General Public License v3.0
206 stars 8 forks source link

Bug: 出现异常 #210

Closed RaTaiHok closed 2 months ago

RaTaiHok commented 2 months ago

操作系统

Windows

Python 版本

3.9.7

NoneBot 版本

2.1.x

Bilichat 版本

5.9.2

描述问题

在触发/bili指令之后触发alcUnimeg的satori keyError alc我在其他上面用的都没有问题,satori adapter在最近更新了的Message结构,alc也进行了同步更新,我看到本插件也使用了alc,但还是出现了问题,不知道是怎么回事,望解答或修复, 看到Plugin_meta里没写可以支持satori,如果真的不支持的话那我close了( image

插件的配置项

bilichat_bilibili_cookie = "C:/bili_cookie.har" bilichat_cache_serive = "json" bilichat_command_to_me = False bilichat_cmd_start = "bili"

对同一视频的响应冷却时间(防止刷屏)

bilichat_cd_time = 120

网络请求重试次数

bilichat_neterror_retry = 3

是否使用浏览器截图(需要额外依赖)

bilichat_use_browser = Flase

是否开启词云(需要额外依赖)

bilichat_word_cloud = False

=== AI 总结相关 ===

官方总结接口

bilichat_official_summary = True

openai 接口(需要额外依赖)

bilichat_openai_token = sk-

网络代理

bilichat_openai_proxy = "https://.top/"

截图或日志

05-06 08:35:04 [INFO] nonebot | Matcher(type='message', module=nonebot_plugin_bilichat.base_content_parsing, lineno=160) running complete 05-06 08:35:04 [ERROR] nonebot | Running Matcher(type='message', module=nonebot_plugin_bilichat.base_content_parsing, lineno=160) failed. Traceback (most recent call last): File "", line 17, in File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\nonebot__init__.py", line 335, in run get_driver().run(*args, *kwargs) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\nonebot\drivers\fastapi.py", line 186, in run uvicorn.run( File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\uvicorn\main.py", line 578, in run server.run() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\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\Python39\lib\asyncio\runners.py", line 44, in run return loop.run_until_complete(main) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py", line 629, in run_until_complete self.run_forever() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_events.py", line 316, in run_forever super().run_forever() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py", line 596, in run_forever self._run_once() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py", line 1890, in _run_once handle._run() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\asyncio\events.py", line 80, in _run self._context.run(self._callback, self._args) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\nonebot\message.py", line 476, in check_and_run_matcher await _run_matcher(

File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\nonebot\message.py", line 428, in _run_matcher await matcher.run(bot, event, state, stack, dependency_cache) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\nonebot\internal\matcher\matcher.py", line 850, in run await self.simple_run(bot, event, state, stack, dependency_cache) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\nonebot\internal\matcher\matcher.py", line 825, in simple_run await handler( File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\nonebot\dependencies__init.py", line 94, in call return await cast(Callable[..., Awaitable[R]], self.call)(**values) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\nonebot_plugin_bilichat\base_content_parsing.py", line 179, in content_info receipt = await msgs.send() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\nonebot_plugin_alconna\uniseg\message.py", line 918, in send res = await fn.send_to(target, bot, msg) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\nonebot_plugin_alconna\uniseg\adapters\satori\exporter.py", line 170, in send_to return await bot.send_message(target.id, message) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\nonebot\adapters\satori\bot.py", line 253, in send_message return await self.message_create(channel_id=channel_id, content=str(message)) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\nonebot\internal\adapter\message.py", line 149, in str return "".join(str(seg) for seg in self) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\nonebot\internal\adapter\message.py", line 149, in return "".join(str(seg) for seg in self) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\nonebot\adapters\satori\message.py", line 428, in str__ text = self.data["text"] KeyError: 'text'

Well2333 commented 2 months ago

bilichat 在 5.7.0 版本就限制 Python3.10+ 了,你是怎么在 Python3.9 用的 5.9.2

RaTaiHok commented 2 months ago

bilichat 在 5.7.0 版本就限制 Python3.10+ 了,你是怎么在 Python3.9 用的 5.9.2

抱歉这个我真的不知道因为没看release,主要是nb还没有弃用3.9所以一直没注意这个事情,请问是否可以将这个写在README.md中呢,另外还有这个图标是否也需要进行更换( image

Well2333 commented 2 months ago

bilichat_bilibili_cookie bilichat_openai_proxy 这两个配置项也可能填写的不正确,请查看readme的说明进行填写,另外网页爬取的cookies经常过期,建议使用二维码登录

RaTaiHok commented 2 months ago

bilichat_bilibili_cookie bilichat_openai_proxy 这两个配置项也可能填写的不正确,请查看readme的说明进行填写,另外网页爬取的cookies经常过期,建议使用二维码登录

已切换为python310(3.10.9),使用了扫码登录成功,nonebot2为最新版,plugin-bilichat为最新版,satori adapter为最新版,plugin-alc为最新版,已关闭gpt总结和词云debug,还是一样的报错

05-06 15:31:21 [INFO] nonebot_plugin_bilichat | video id: BV12T421C715
05-06 15:31:21 [INFO] nonebot_plugin_bilichat | Parsing video BV12T421C715
05-06 15:31:21 [INFO] nonebot | Event will be handled by Matcher(type='message', module=nonebot_plugin_bilichat.base_content_parsing, lineno=152)
05-06 15:31:24 [INFO] nonebot | Matcher(type='message', module=nonebot_plugin_bilichat.base_content_parsing, lineno=152) running complete
05-06 15:31:24 [ERROR] nonebot | Running Matcher(type='message', module=nonebot_plugin_bilichat.base_content_parsing, lineno=152) failed.
Traceback (most recent call last):
  File "<string>", line 17, in <module>
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\__init__.py", line 335, in run
    get_driver().run(*args, **kwargs)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\drivers\fastapi.py", line 186, in run
    uvicorn.run(
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\uvicorn\main.py", line 575, in run
    server.run()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\uvicorn\server.py", line 65, in run
    return asyncio.run(self.serve(sockets=sockets))
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 636, in run_until_complete
    self.run_forever()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\windows_events.py", line 321, in run_forever
    super().run_forever()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 603, in run_forever
    self._run_once()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 1906, in _run_once
    handle._run()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\message.py", line 476, in check_and_run_matcher
    await _run_matcher(
> File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\message.py", line 428, in _run_matcher
    await matcher.run(bot, event, state, stack, dependency_cache)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\internal\matcher\matcher.py", line 850, in run
    await self.simple_run(bot, event, state, stack, dependency_cache)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\internal\matcher\matcher.py", line 825, in simple_run
    await handler(
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\dependencies\__init__.py", line 94, in __call__
    return await cast(Callable[..., Awaitable[R]], self.call)(**values)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot_plugin_bilichat\base_content_parsing.py", line 171, in content_info
    receipt = await msgs.send()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot_plugin_alconna\uniseg\message.py", line 918, in send
    res = await fn.send_to(target, bot, msg)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot_plugin_alconna\uniseg\adapters\satori\exporter.py", line 170, in send_to
    return await bot.send_message(target.id, message)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\adapters\satori\bot.py", line 253, in send_message
    return await self.message_create(channel_id=channel_id, content=str(message))
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\internal\adapter\message.py", line 149, in __str__
    return "".join(str(seg) for seg in self)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\internal\adapter\message.py", line 149, in <genexpr>
    return "".join(str(seg) for seg in self)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\nonebot\adapters\satori\message.py", line 428, in __str__
    text = self.data["text"]
KeyError: 'text'
Well2333 commented 2 months ago

请提供satori适配器和alconna插件具体的版本号

RaTaiHok commented 2 months ago

请提供satori适配器和alconna插件具体的版本号

str adpt 0.11.4 plugin-alconna 0.45.3

Well2333 commented 2 months ago
05-06 17:02:48 [SUCCESS] nonebot | Satori 1943125575 | [message-created]: Message 7365809505201989412 from Well404(705321823)@[test:705321823]: [Text(type='text', data={'text': '/qrlogin', 'styles': {}}, _children=[])]
05-06 17:02:48 [DEBUG] nonebot | Checking for matchers in priority 1...
05-06 17:02:48 [INFO] nonebot | Event will be handled by Matcher(type='message', module=nonebot_plugin_bilichat.commands.login, lineno=56)
05-06 17:02:48 [DEBUG] nonebot | Running Matcher(type='message', module=nonebot_plugin_bilichat.commands.login, lineno=56)
05-06 17:02:48 [DEBUG] nonebot | Running handler Dependent(call=bili_qrcode_login)
05-06 17:02:49 [DEBUG] nonebot_plugin_bilichat | qrcode login url: https://passport.bilibili.com/x/passport-tv-login/h5/qrcode/auth?auth_code=8e9c65de6ca7044e1b47134cb693f8b1
05-06 17:02:49 [DEBUG] nonebot | Satori | Bot 1943125575 calling API message_create
05-06 17:02:49 [DEBUG] nonebot_plugin_bilichat | [Live]-(1/10) 无活跃的UP, 跳过...
05-06 17:02:50 [SUCCESS] nonebot | Satori 1943125575 | [message-created]: Message 7440026540712609938 from 403 Forbidden(705321823)@[test:705321823]: [Image(type='img', data={'src': 'http://127.0.0.1:5500/v1/assets/eyJtc2dJZCI6Ijc0NDAwMjY1NDA3MTI2MDk5MzgiLCJjaGF0VHlwZSI6MiwicGVlclVpZCI6IjcwNTMyMTgyMyIsImVsZW1lbnRJZCI6IjczNjU4MDk1MDUyMDE5ODk0MTQiLCJ0aHVtYlNpemUiOjB9'}, _children=[])]

无法复现,二维码可正常发送,请再次确认你的 satori 适配器和 alconna 插件 是否为最新版

RaTaiHok commented 2 months ago
05-06 17:02:48 [SUCCESS] nonebot | Satori 1943125575 | [message-created]: Message 7365809505201989412 from Well404(705321823)@[test:705321823]: [Text(type='text', data={'text': '/qrlogin', 'styles': {}}, _children=[])]
05-06 17:02:48 [DEBUG] nonebot | Checking for matchers in priority 1...
05-06 17:02:48 [INFO] nonebot | Event will be handled by Matcher(type='message', module=nonebot_plugin_bilichat.commands.login, lineno=56)
05-06 17:02:48 [DEBUG] nonebot | Running Matcher(type='message', module=nonebot_plugin_bilichat.commands.login, lineno=56)
05-06 17:02:48 [DEBUG] nonebot | Running handler Dependent(call=bili_qrcode_login)
05-06 17:02:49 [DEBUG] nonebot_plugin_bilichat | qrcode login url: https://passport.bilibili.com/x/passport-tv-login/h5/qrcode/auth?auth_code=8e9c65de6ca7044e1b47134cb693f8b1
05-06 17:02:49 [DEBUG] nonebot | Satori | Bot 1943125575 calling API message_create
05-06 17:02:49 [DEBUG] nonebot_plugin_bilichat | [Live]-(1/10) 无活跃的UP, 跳过...
05-06 17:02:50 [SUCCESS] nonebot | Satori 1943125575 | [message-created]: Message 7440026540712609938 from 403 Forbidden(705321823)@[test:705321823]: [Image(type='img', data={'src': 'http://127.0.0.1:5500/v1/assets/eyJtc2dJZCI6Ijc0NDAwMjY1NDA3MTI2MDk5MzgiLCJjaGF0VHlwZSI6MiwicGVlclVpZCI6IjcwNTMyMTgyMyIsImVsZW1lbnRJZCI6IjczNjU4MDk1MDUyMDE5ODk0MTQiLCJ0aHVtYlNpemUiOjB9'}, _children=[])]

无法复现,二维码可正常发送,请再次确认你的 satori 适配器和 alconna 插件 是否为最新版

二维码在web上登录的,发不出去的是BV解析↓ 05-06 15:31:21 [INFO] nonebot_plugin_bilichat | video id: BV12T421C715 05-06 15:31:21 [INFO] nonebot_plugin_bilichat | Parsing video BV12T421C715 05-06 15:31:21 [INFO] nonebot | Event will be handled by Matcher(type='message', module=nonebot_plugin_bilichat.base_content_parsing, lineno=152) 05-06 15:31:24 [INFO] nonebot | Matcher(type='message', module=nonebot_plugin_bilichat.base_content_parsing, lineno=152) running complete 05-06 15:31:24 [ERROR] nonebot | Running Matcher(type='message', module=nonebot_plugin_bilichat.base_content_parsing, lineno=152) failed. Traceback (most recent call last):

Well2333 commented 2 months ago

https://github.com/nonebot/adapter-satori/releases/tag/v0.11.5

你可以通过更新 bilichat 至 5.9.3+ 或更新 adapter-satori 至 0.11.5+ 来解决此问题

RaTaiHok commented 2 months ago

已经可以了,感谢o( ̄▽ ̄)ブ