Giter VIP home page Giter VIP logo

nonebot-plugin-bilichat's Introduction

nonebot-plugin-bilichat's People

Contributors

djkcyl avatar forchannot avatar hamo-reid avatar lgc2333 avatar well2333 avatar xxtg666 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

nonebot-plugin-bilichat's Issues

Bug: 安装插件之后程序无法正常退出?

操作系统

Linux

Python 版本

3.11.9

NoneBot 版本

2.3

Bilichat 版本

5.10.2

描述问题

安装插件后,按ctrl+v结束程序时程序卡死无法退出,必须关闭终端,卸载插件后恢复正常

插件的配置项

No response

截图或日志

(nonebot2) ling@ling-Ubuntu:~/公共的/nonebot2/lingbot2$ nb run
05-19 17:45:38 [SUCCESS] nonebot | NoneBot is initializing...
05-19 17:45:38 [INFO] nonebot | Current Env: dev
05-19 17:45:38 [DEBUG] nonebot | Loaded Config: {'driver': '~fastapi', 'host': IPv4Address('127.0.0.1'), 'port': 8080, 'log_level': 'DEBUG', 'api_timeout': 30.0, 'superusers': {**'}, 'nickname': set(), 'command_start': {''}, 'command_sep': {'.'}, 'session_expire_timeout': datetime.timedelta(seconds=120), 'environment': 'dev', 'ps_only_su': 'True', 'duel': {'nickname': '嘎哒哒'}, 'ffmpeg': '/usr/bin/ffmpeg', 'pixiv_r18': 'False', 'search_limit': 2, 'record_priority': 99, 'saucenao_api_key': 'c289aa0c8ee0d3ce65e46e5f26f7031c1c9f9284', 'search_keyword': '图搜图'}
05-19 17:45:38 [DEBUG] nonebot | Succeeded to load adapter "OneBot V11"
05-19 17:45:38 [DEBUG] nonebot | Succeeded to load adapter "Console"
05-19 17:45:38 [ERROR] nonebot | Failed to import "nonebot_plugin_picsearcher"
Traceback (most recent call last):
File "/home/ling/公共的/nonebot2/lingbot2/bot.py", line 14, in
nonebot.load_plugin('nonebot_plugin_picsearcher')
File "/home/ling/anaconda3/envs/nonebot2/lib/python3.11/site-packages/nonebot/plugin/load.py", line 40, in load_plugin
return manager.load_plugin(module_path)

File "/home/ling/anaconda3/envs/nonebot2/lib/python3.11/site-packages/nonebot/plugin/manager.py", line 167, in load_plugin
module = importlib.import_module(self._third_party_plugin_ids[name])
File "/home/ling/anaconda3/envs/nonebot2/lib/python3.11/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1204, in _gcd_import
File "", line 1176, in _find_and_load
File "", line 1140, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'nonebot_plugin_picsearcher'
05-19 17:45:38 [SUCCESS] nonebot | Succeeded to load plugin "echo" from "nonebot.plugins.echo"
05-19 17:45:38 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_simplemusic" from "lingbot2.plugins.nonebot_plugin_simplemusic"
05-19 17:45:38 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_alconna:uniseg" from "nonebot_plugin_alconna.uniseg"
05-19 17:45:38 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_alconna"
05-19 17:45:38 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_session"
05-19 17:45:38 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_userinfo"
05-19 17:45:38 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_localstore"
05-19 17:45:39 [WARNING] nonebot_plugin_memes | 表情列表解析失败,将重新生成
05-19 17:45:39 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_memes"
05-19 17:45:39 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_duel" from "lingbot2.plugins.nonebot_plugin_duel"
05-19 17:45:39 [SUCCESS] nonebot | Succeeded to load plugin "nonebot-plugin-mcpic-main" from "lingbot2.plugins.nonebot-plugin-mcpic-main"
05-19 17:45:39 [INFO] nonebot_plugin_bilichat | nonebot_plugin_bilichat 缓存文件夹 -> /home/ling/.cache/nonebot2/nonebot_plugin_bilichat
05-19 17:45:39 [INFO] nonebot_plugin_bilichat | nonebot_plugin_bilichat 数据文件夹 -> /home/ling/.local/share/nonebot2/nonebot_plugin_bilichat
05-19 17:45:39 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_htmlrender"
05-19 17:45:39 [INFO] nonebot_plugin_bilichat | bilichat_use_browser 所需依赖已安装,采用浏览器渲染模式
05-19 17:45:39 [INFO] nonebot_plugin_bilichat | bilichat_cache_serive 无法使用 MongoDB 作为缓存服务, 使用 JSON 文件作为缓存服务
05-19 17:45:39 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_apscheduler"
05-19 17:45:39 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_auto_bot_selector"
05-19 17:45:39 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_waiter"
05-19 17:45:39 [WARNING] nonebot_plugin_bilichat | sentry_sdk 未安装
05-19 17:45:39 [INFO] nonebot_plugin_bilichat | 使用 JSON 文件作为缓存服务
05-19 17:45:39 [DEBUG] nonebot_plugin_bilichat | Loading font: sarasa-mono-sc-semibold.ttf
05-19 17:45:39 [DEBUG] nonebot_plugin_bilichat | Font sarasa-mono-sc-semibold.ttf found in local
05-19 17:45:39 [DEBUG] nonebot_plugin_bilichat | Loading font: sarasa-mono-sc-bold.ttf
05-19 17:45:39 [DEBUG] nonebot_plugin_bilichat | Font sarasa-mono-sc-bold.ttf found in local
05-19 17:45:39 [DEBUG] nonebot_plugin_bilichat | Loading font: vanfont.ttf
05-19 17:45:39 [DEBUG] nonebot_plugin_bilichat | Font vanfont.ttf found in local
05-19 17:45:39 [DEBUG] nonebot_plugin_bilichat | Loading font: HarmonyOS_Sans_SC_Medium.ttf
05-19 17:45:39 [DEBUG] nonebot_plugin_bilichat | Font HarmonyOS_Sans_SC_Medium.ttf found in local
05-19 17:45:39 [DEBUG] nonebot_plugin_bilichat | Loading font: nte.ttf
05-19 17:45:39 [DEBUG] nonebot_plugin_bilichat | Font nte.ttf found in local
05-19 17:45:39 [SUCCESS] nonebot_plugin_bilichat |



05-19 17:45:39 [WARNING] nonebot | Duplicated prefix rule "关注"
05-19 17:45:39 [WARNING] nonebot | Duplicated prefix rule "关注"
05-19 17:45:39 [WARNING] nonebot | Duplicated prefix rule "订阅"
05-19 17:45:39 [WARNING] nonebot | Duplicated prefix rule "bilichat.sub"
05-19 17:45:39 [WARNING] nonebot | Duplicated prefix rule "bilichat.unsub"
05-19 17:45:39 [WARNING] nonebot | Duplicated prefix rule "退订"
05-19 17:45:39 [WARNING] nonebot | Duplicated prefix rule "取关"
05-19 17:45:39 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_bilichat"
05-19 17:45:39 [SUCCESS] nonebot | Succeeded to load plugin "YetAnotherPicSearch"
05-19 17:45:39 [SUCCESS] nonebot | Succeeded to load plugin "jock" from "lingbot2.plugins.jock"
05-19 17:45:39 [SUCCESS] nonebot | Succeeded to load plugin "chats" from "lingbot2.plugins.chats"
05-19 17:45:39 [SUCCESS] nonebot | Succeeded to load plugin "AI_voice" from "lingbot2.plugins.AI_voice"
05-19 17:45:40 [SUCCESS] nonebot | Succeeded to load plugin "weather" from "lingbot2.plugins.weather"
05-19 17:45:40 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_epicfree"
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Registered collector memory_stat
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Registered collector swap_stat
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Registered collector bots
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Registered collector process_status
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Registered collector disk_usage
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Registered collector disk_io
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Registered collector nonebot_run_time
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Registered collector system_run_time
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Registered collector nonebot_version
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Registered collector ps_version
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Registered collector time
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Registered collector python_version
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Registered collector system_name
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Registered collector cpu_brand
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Registered collector cpu_count_logical
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Registered collector cpu_count
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Registered collector cpu_percent
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Registered collector cpu_freq
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Registered collector network_io
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Registered collector network_connection
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Registered global jinja filter format_cpu_freq
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Registered global jinja filter percent_to_color
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Registered global jinja filter auto_convert_unit
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Registered global jinja filter br
05-19 17:45:40 [DEBUG] nonebot_plugin_picstatus | Loaded template default TemplateInfo(collectors={'cpu_brand', 'nonebot_run_time', 'cpu_percent', 'system_run_time', 'network_io', 'cpu_count_logical', 'memory_stat', 'nonebot_version', 'cpu_count', 'disk_io', 'swap_stat', 'system_name', 'python_version', 'ps_version', 'network_connection', 'process_status', 'time', 'bots', 'cpu_freq', 'disk_usage'}, config=TemplateConfig(ps_default_components=['header', 'cpu_mem', 'disk', 'network', 'process', 'footer'], ps_default_additional_css=[], ps_default_additional_script=[]), renderer=<function render at 0x76e8c87882c0>)
05-19 17:45:40 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_picstatus" from "lingbot2.plugins.nonebot_plugin_picstatus"
05-19 17:45:40 [SUCCESS] nonebot | Succeeded to load plugin "img" from "lingbot2.plugins.img"
05-19 17:45:40 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_pixiv" from "lingbot2.plugins.nonebot_plugin_pixiv"
05-19 17:45:40 [SUCCESS] nonebot | Succeeded to load plugin "nonebot_plugin_alconna"
05-19 17:45:40 [SUCCESS] nonebot | Succeeded to load plugin "saylove" from "lingbot2.plugins.saylove"
05-19 17:45:40 [SUCCESS] nonebot | Running NoneBot...
05-19 17:45:40 [DEBUG] nonebot | Loaded adapters: OneBot V11, Console
05-19 17:45:40 [INFO] uvicorn | Started server process [37584]
05-19 17:45:40 [INFO] uvicorn | Waiting for application startup.
05-19 17:45:40 [INFO] nonebot_plugin_memes | 正在检查资源文件...
05-19 17:45:42 [SUCCESS] nonebot | Console unmounted.
05-19 17:45:42 [WARNING] nonebot | Press Ctrl-C for Application exit
05-19 17:45:42 [INFO] nonebot_plugin_auto_bot_selector | pop bot Bot(type='Console', self_id='console')
05-19 17:45:42 [INFO] nonebot_plugin_bilichat | 重新检查可推送的用户
05-19 17:45:42 [INFO] nonebot_plugin_bilichat | 正在刷新激活的UP列表
05-19 17:45:42 [DEBUG] nonebot_plugin_bilichat | 正在尝试激活用户 QQ Group--1149228175 订阅的 UP
05-19 17:45:42 [DEBUG] nonebot_plugin_bilichat | 用户 QQ Group-
-1149228175 无可用推送 Bot
05-19 17:45:42 [DEBUG] nonebot_plugin_bilichat | 正在尝试激活用户 QQ Group--317701038 订阅的 UP
05-19 17:45:42 [DEBUG] nonebot_plugin_bilichat | 用户 QQ Group-
-317701038 无可用推送 Bot
05-19 17:45:42 [DEBUG] nonebot_plugin_bilichat | 已激活的UP:
无已激活的UP
05-19 17:45:42 [INFO] nonebot_plugin_bilichat | 检查可推送的用户完成
^C05-19 17:45:42 [INFO] uvicorn | Shutting down
05-19 17:45:42 [INFO] uvicorn | Waiting for application shutdown.
05-19 17:45:42 [INFO] nonebot_plugin_htmlrender | Browser Stopped.
05-19 17:45:42 [INFO] nonebot_plugin_apscheduler | Scheduler Shutdown
05-19 17:45:42 [DEBUG] nonebot | Waiting for running bot connection hooks...
05-19 17:45:45 [DEBUG] meme_generator | Available resource urls: ['https://raw.githubusercontent.com/MeetWq/meme-generator/', 'https://fastly.jsdelivr.net/gh/MeetWq/meme-generator@', 'https://raw.gitmirror.com/MeetWq/meme-generator/'
image
]

KeyError bili_number

当发送up主个人空间时会出现KeyError bili_number
bilichat版本: 1.8.0
nb端收到的日志

04-29 16:24:17 [SUCCESS] nonebot | OneBot V11 2029172546 | [message.group.normal]: Message -1136853180 from 1492164106@[群:710768309] '&#91;&#91;分享&#93;联合国的个人空间&#93;请使用最新版本手机QQ查看[json:data={"app":"com.te
ncent.structmsg","desc":"新闻","bizsrc":"","view":"news...]'

gocq收到的日志

: &#91;&#91;分享&#93;联合国的个人空间&#93;请使用最新版本手机QQ查看[CQ:json,data={"app":"com.tencent.structmsg"&#44;"desc":"新闻"&#44;"bizsrc":""&#44;"view":"news"&#44;"ver":"0.0.0.1"&#44;"prompt":"&#91;分享&#93;联合国的个人空间"&#44;"meta":{"news":{"action":""&#44;"android_pkg_name":""&#44;"app_type":1&#44;"appid":100951776&#44;"ctime":1682756365&#44;"desc":"你感兴趣的视频都在B站"&#44;"jumpUrl":"https:\/\/b23.tv\/xrbcW36?share_medium=android&amp;share_source=qq&amp;bbid=XX8E8208EF0786F05E19485C7F78D671AD1EB&amp;ts=1682756360079"&#44;"preview":"https:\/\/pic.ugcimg.cn\/fb4fd72800eab6723105af744f9259b6\/jpg1"&#44;"source_icon":"https:\/\/open.gtimg.cn\/open\/app_icon\/00\/95\/17\/76\/100951776_100_m.png?t=1682411052"&#44;"source_url":""&#44;"tag":"哔哩哔哩"&#44;"title":"联合国的个人空间"&#44;"uin":2801303328}}&#44;"config":{"ctime":1682756365&#44;"forward":true&#44;"token":"dcf97000fe48fcc9a56cd659d3010e9c"&#44;"type":"normal"}}] (-1136853180)

报错信息如下

04-29 16:19:28 [ERROR] nonebot | Running Matcher(type='message', module=nonebot_plugin_bilichat) failed.
Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\LittlePaimon\bot.py", line 38, in <module>
    nonebot.run(app="__mp_main__:app", access_log=False)
  File "C:\Users\Administrator\Desktop\LittlePaimon\.venv\lib\site-packages\nonebot\__init__.py", line 309, in run
    get_driver().run(*args, **kwargs)
  File "C:\Users\Administrator\Desktop\LittlePaimon\.venv\lib\site-packages\nonebot\drivers\fastapi.py", line 198, in run
    uvicorn.run(
  File "C:\Users\Administrator\Desktop\LittlePaimon\.venv\lib\site-packages\uvicorn\main.py", line 569, in run
    server.run()
  File "C:\Users\Administrator\Desktop\LittlePaimon\.venv\lib\site-packages\uvicorn\server.py", line 60, 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 628, in run_until_complete
    self.run_forever()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\windows_events.py", line 316, in run_forever
    super().run_forever()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 595, in run_forever
    self._run_once()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 1881, 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\Desktop\LittlePaimon\.venv\lib\site-packages\nonebot\message.py", line 141, in _check_matcher
    await _run_matcher(Matcher, bot, event, state, stack, dependency_cache)
> File "C:\Users\Administrator\Desktop\LittlePaimon\.venv\lib\site-packages\nonebot\message.py", line 187, in _run_matcher
    await matcher.run(bot, event, state, stack, dependency_cache)
  File "C:\Users\Administrator\Desktop\LittlePaimon\.venv\lib\site-packages\nonebot\internal\matcher\matcher.py", line 753, in run
    await self.simple_run(bot, event, state, stack, dependency_cache)
  File "C:\Users\Administrator\Desktop\LittlePaimon\.venv\lib\site-packages\nonebot\internal\matcher\matcher.py", line 728, in simple_run
    await handler(
  File "C:\Users\Administrator\Desktop\LittlePaimon\.venv\lib\site-packages\nonebot\dependencies\__init__.py", line 108, in __call__
    return await cast(Callable[..., Awaitable[R]], self.call)(**values)
  File "C:\Users\Administrator\Desktop\LittlePaimon\.venv\lib\site-packages\nonebot_plugin_bilichat\__init__.py", line 122, in video_info
    bili_number, uid = state["bili_number"], state["_uid_"]
KeyError: 'bili_number'

Bug: 出现异常

操作系统

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'

Bug: playwright版本异常导致出现问题

操作系统

Windows

Python 版本

尝试过3.10和3.11

NoneBot 版本

2.1.2

Bilichat 版本

4.11.2

描述问题

这里写的playwright为>=1.17.2

dependencies = [
"Pygments>=2.10.0",
"aiofiles>=0.8.0",
"jinja2>=3.0.3",
"markdown>=3.3.6",
"nonebot2[fastapi]>=2.0.0",
"playwright>=1.17.2",
"pymdown-extensions>=9.1",
"python-markdown-math>=0.8",
]

这里写的playwright为1.36.0

[[package]]
name = "playwright"
version = "1.36.0"
requires_python = ">=3.8"
summary = "A high-level API to automate web browsers"
dependencies = [
"greenlet==2.0.2",
"pyee==9.0.4",
"typing-extensions; python_version <= \"3.8\"",
]
files = [
{file = "playwright-1.36.0-py3-none-macosx_10_13_x86_64.whl", hash = "sha256:b7c6ddfca2b141b0385387cc56c125b14ea867902c39e3fc650ddd6c429b17da"},
{file = "playwright-1.36.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:428a719a6c7e40781c19860ed813840ac2d63678f7587abe12e800ea030d4b7e"},
{file = "playwright-1.36.0-py3-none-macosx_11_0_universal2.whl", hash = "sha256:4e396853034742b76654cdab27422155d238f46e4dc6369ea75854fafb935586"},
{file = "playwright-1.36.0-py3-none-manylinux1_x86_64.whl", hash = "sha256:72e80076e595f5fcd8ebd89bf6635ad78e4bafa633119faed8b2568d17dbd398"},
{file = "playwright-1.36.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffbb927679b62fad5071439d5fe0840af46ad1844bc44bf80e1a0ad706140c98"},
{file = "playwright-1.36.0-py3-none-win32.whl", hash = "sha256:84213339f179fd2a70f77ea7faea0616d74871349d556c53a1ecb7dd5097973c"},
{file = "playwright-1.36.0-py3-none-win_amd64.whl", hash = "sha256:89ca2261bb00b67d3dff97691cf18f4347ee0529a11e431e47df67b703d4d8fa"},
]

实际安装会装上最新版1.40.0
https://pypi.org/project/playwright/

然后就会导致
ModuleNotFoundError: No module named 'playwright._impl._api_types'
然后插件不会响应任何事件

手动回到1.36版本后正常

查询可知在playwright 1.14.0中,新的导入方式为playwright._impl._errors.Error而不是playwright._impl._api_types.Error
image

希望以后能把依赖版本号写死吧,不然版本问题之后会挺头疼

插件的配置项

No response

截图或日志

No response

Bug: 报错There is no current event loop in thread 'MainThread'.

操作系统

Windows

Python 版本

Python 3.8.8

NoneBot 版本

nonebot cli version 1.2.7

Bilichat 版本

v4.12.1

描述问题

新建nonebot2项目后,按教程安装bilichat和手动安装缺失依赖后,报错There is no current event loop in thread 'MainThread'.

插件的配置项

No response

截图或日志

QQ图片20231210121340

代理配置是填什么格式

机子是国内的,打算使用代理,但是代理配置一填写就报错
要加http://或其他什么吗
报错日志:

06-05 21:12:27 [ERROR] nonebot | Failed to import "nonebot_plugin_bilichat"
Traceback (most recent call last):
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\anyio\_core\_sockets.py", line 186, in connect_tcp
    addr_obj = ip_address(remote_host)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\ipaddress.py", line 54, in ip_address
    raise ValueError(f'{address!r} does not appear to be an IPv4 or IPv6 address')
ValueError: 'openaipublic.blob.core.windows.net' does not appear to be an IPv4 or IPv6 address

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\httpcore\backends\asyncio.py", line 111, in connect_tcp
    stream: anyio.abc.ByteStream = await anyio.connect_tcp(
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\anyio\_core\_sockets.py", line 189, in connect_tcp
    gai_res = await getaddrinfo(
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\httpcore\_exceptions.py", line 10, in map_exceptions
    yield
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\httpcore\backends\asyncio.py", line 110, in connect_tcp
    with anyio.fail_after(timeout):
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\anyio\_core\_tasks.py", line 118, in __exit__
    raise TimeoutError
TimeoutError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\httpx\_transports\default.py", line 60, in map_httpcore_exceptions
    yield
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\httpx\_transports\default.py", line 353, in handle_async_request
    resp = await self._pool.handle_async_request(req)
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\httpcore\_async\connection_pool.py", line 253, in handle_async_request
    raise exc
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\httpcore\_async\connection_pool.py", line 237, in handle_async_request
    response = await connection.handle_async_request(request)
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\httpcore\_async\connection.py", line 86, in handle_async_request
    raise exc
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\httpcore\_async\connection.py", line 63, in handle_async_request
    stream = await self._connect(request)
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\httpcore\_async\connection.py", line 111, in _connect
    stream = await self._network_backend.connect_tcp(**kwargs)
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\httpcore\backends\auto.py", line 29, in connect_tcp
    return await self._backend.connect_tcp(
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\httpcore\backends\asyncio.py", line 109, in connect_tcp
    with map_exceptions(exc_map):
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\httpcore\_exceptions.py", line 14, in map_exceptions
    raise to_exc(exc)
httpcore.ConnectTimeout

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "E:\IDEAyes\BOT\nonebot2\bot.py", line 38, in <module>
    nonebot.load_plugin("nonebot_plugin_bilichat")
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\nonebot\plugin\load.py", line 37, in load_plugin
    return manager.load_plugin(module_path)
> File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\nonebot\plugin\manager.py", line 141, in load_plugin
    module = importlib.import_module(name)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\nonebot\plugin\manager.py", line 240, in exec_module
    super().exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\nonebot_plugin_bilichat\__init__.py", line 49, in <module>
    from .summary import summarization
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\nonebot_plugin_bilichat\summary\__init__.py", line 12, in <module>
    from .openai_summarise import openai_summarization
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\nonebot_plugin_bilichat\summary\openai_summarise.py", line 10, in <module>
    from .openai import get_small_size_transcripts, get_summarise_prompt, openai_req
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\nonebot_plugin_bilichat\summary\openai.py", line 15, in <module>
    tiktoken_enc = asyncio.run(tiktoken_async.encoding_for_model(plugin_config.bilichat_openai_model))
  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 646, in run_until_complete
    return future.result()
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\tiktoken_async\model.py", line 67, in encoding_for_model
    return await get_encoding(model_encoding_name)
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\tiktoken_async\registry.py", line 67, in get_encoding
    enc = Encoding(**await constructor())
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\tiktoken_async_ext\openai_public.py", line 64, in cl100k_base
    mergeable_ranks = await load_tiktoken_bpe(
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\tiktoken_async\load.py", line 118, in load_tiktoken_bpe
    contents = await read_file_cached(tiktoken_bpe_file)
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\tiktoken_async\load.py", line 48, in read_file_cached
    contents = await read_file(blobpath)
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\tiktoken_async\load.py", line 25, in read_file
    resp = await client.get(blobpath)
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\httpx\_client.py", line 1757, in get
    return await self.request(
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\httpx\_client.py", line 1533, in request
    return await self.send(request, auth=auth, follow_redirects=follow_redirects)
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\httpx\_client.py", line 1620, in send
    response = await self._send_handling_auth(
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\httpx\_client.py", line 1648, in _send_handling_auth
    response = await self._send_handling_redirects(
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\httpx\_client.py", line 1685, in _send_handling_redirects
    response = await self._send_single_request(request)
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\httpx\_client.py", line 1722, in _send_single_request
    response = await transport.handle_async_request(request)
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\httpx\_transports\default.py", line 352, in handle_async_request
    with map_httpcore_exceptions():
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "E:\IDEAyes\BOT\nonebot2\venv\lib\site-packages\httpx\_transports\default.py", line 77, in map_httpcore_exceptions
    raise mapped_exc(message) from exc
httpx.ConnectTimeout

check_adapter_can_send_forword_msg 没有正确返回

虽然合并消息会被风控,但这个函数确实忘记返回了

 @validator("bilichat_forword_msg")
    def check_adapter_can_send_forword_msg(cls, v):
        if not v:
            return
        drivers = get_driver()._adapters.keys()
        if "OneBot V12" in drivers:
            logger.warning(
                "Forword_msg is not implemented by OneBot V12, events of OneBot V12 will not be sent as forword_msg!"
            )
        if "OneBot V11" in drivers:
            logger.warning(
                "Using forward_msg may cause serious risk control restrictions, please enable this feature with caution!"
            )
        return v # <--- 少了这个

关闭wordcloud后报错

init.py 中生成词云的逻辑在关闭词云后会报错,改成下面这样可以改正这个错误

 if plugin_config.bilichat_word_cloud:
        if image := await wordcloud(cache=cache, cid=str(info["cid"])):
            if "wordcloud" in plugin_config.bilichat_forword_msg:
                forword_list.append(V11_MS.image(image))
            else:
                await matcher.send(reply + V11_MS.image(image))  # type: ignore
        else:
            if "wordcloud" in plugin_config.bilichat_forword_msg:
                forword_list.append("视频无有效字幕")
                await forword_msg_v11(bot, event, forword_list)
            else:
                await matcher.finish(f"{reply}视频无有效字幕")

Feature: 功能描述 添加对B站原生AI视频总结接口的支持

希望能解决的问题

近期B站上线了“AI视频总结”的功能,入口位于B站网页版的视频页下方,点击后即可打开一个AI生成的总结页面
以下是对该入口的逻辑观察:

  1. 该入口会固定出现在视频页的下方,与三连按钮在同一水平位置;
  2. 视频的类型、发布时间、热门程度不影响入口的出现逻辑;
  3. 视频的音频为音乐、无声、嘈杂时,该入口不可点击;
  4. 多次请求后,该接口仍可用。

预测该接口的AI总结逻辑可能为调用字幕接口进行生成,且暂时没有请求限制及加密逻辑

https://s2.loli.net/2023/10/26/v4LwkQInodD5lyZ.png

https://s2.loli.net/2023/10/26/PiNmGJOy8RpeQ9S.png

描述所需要的功能

希望能添加对该接口的调用支持

优化生成总结图片的性能

希望能解决的问题

在最后生成总结图片的时候,超级占用内存跟CPU,性能差的机器直接卡死被带走
image

描述所需要的功能

希望提供一个不生成图片,直接发送总结文字的选项

直播样式及查动态的推荐

希望能解决的问题

带链接的通知样式似乎会增加风控几率,可否增加纯截图版的推送样式

描述所需要的功能

希望添加小程序样式的开播通知
查动态希望增加理解(如果动态为视频动态,则返回视频短链,不是视频类型则照原样返回截图)

Feature: 增加通过uid订阅up主

希望能解决的问题

增加通过uid订阅up主

描述所需要的功能

async def search_user(keyword: str):
"""
搜索用户
"""
url = "https://app.bilibili.com/x/v2/search/type"
data = {"build": "6840300", "keyword": keyword, "type": "2", "ps": 5}
return await get(url, params=data, cookies=get_cookies())

刚发现其实这个接口是可以通过keyword=uid:{uid}来传入uid进行查询

因为通过名称sub可能会有up主名字奇奇怪怪和一些特殊符号,可以考虑只保留uid绑定(限制isdigit)或者两者都兼容

[bug反馈]插件黑白名单没有校验user_id,channel_id

https://github.com/Aunly/nonebot-plugin-bilichat/blob/09bd3007d96fb6629633fa2bebf5c36c00a9e31b/nonebot_plugin_bilichat/__init__.py#L113-L115

这里直接返回的是配置项的是否允许私聊,并没有对user_id进行校验

https://github.com/Aunly/nonebot-plugin-bilichat/blob/09bd3007d96fb6629633fa2bebf5c36c00a9e31b/nonebot_plugin_bilichat/__init__.py#L124-L126

channel_id也是同上,这里进行二次校验的话,黑白名单也就不仅仅只对群生效,qq号和频道号也可以用于黑白名单

Bug: 出现异常

操作系统

Windows

Python 版本

3.11

NoneBot 版本

2

Bilichat 版本

new

描述问题

报错

关闭插件后可正常运行

插件的配置项

# 对同一视频的响应冷却时间(防止刷屏)
bilichat_cd_time = 120
# 网络请求重试次数
bilichat_neterror_retry = 3
# 是否使用浏览器截图(需要额外依赖)
bilichat_use_browser = True

# 是否开启词云(需要额外依赖)
bilichat_word_cloud = True

# === AI 总结相关 ===
# 官方总结接口
bilichat_official_summary = True

截图或日志

Task exception was never retrieved
future: <Task finished name='Task-3' coro=<Connection.run() done, defined at C:\Users\admin\Desktop\nonebot\New-QQ-Bot2\.venv\Lib\site-packages\playwright\_impl\_connection.py:265> exception=NotImplementedError()>
Traceback (most recent call last):
  File "C:\Users\admin\Desktop\nonebot\New-QQ-Bot2\.venv\Lib\site-packages\playwright\_impl\_connection.py", line 272, in run
    await self._transport.connect()
  File "C:\Users\admin\Desktop\nonebot\New-QQ-Bot2\.venv\Lib\site-packages\playwright\_impl\_transport.py", line 133, in connect
    raise exc
  File "C:\Users\admin\Desktop\nonebot\New-QQ-Bot2\.venv\Lib\site-packages\playwright\_impl\_transport.py", line 120, in connect
    self._proc = await asyncio.create_subprocess_exec(
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\asyncio\subprocess.py", line 223, in create_subprocess_exec
    transport, protocol = await loop.subprocess_exec(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 1694, in subprocess_exec
    transport = await self._make_subprocess_transport(
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 502, in _make_subprocess_transport
    raise NotImplementedError
NotImplementedError
05-19 21:52:31 [ERROR] uvicorn | Traceback (most recent call last):
  File "C:\Users\admin\Desktop\nonebot\New-QQ-Bot2\.venv\Lib\site-packages\starlette\routing.py", line 732, in lifespan
    async with self.lifespan_context(app) as maybe_state:
  File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\contextlib.py", line 204, in __aenter__
    return await anext(self.gen)
           ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\nonebot\New-QQ-Bot2\.venv\Lib\site-packages\nonebot\drivers\fastapi.py", line 153, in _lifespan_manager
    await self._lifespan.startup()
  File "C:\Users\admin\Desktop\nonebot\New-QQ-Bot2\.venv\Lib\site-packages\nonebot\internal\driver\_lifespan.py", line 42, in startup
    await self._run_lifespan_func(self._startup_funcs)
  File "C:\Users\admin\Desktop\nonebot\New-QQ-Bot2\.venv\Lib\site-packages\nonebot\internal\driver\_lifespan.py", line 36, in _run_lifespan_func
    await cast(ASYNC_LIFESPAN_FUNC, func)()
  File "C:\Users\admin\Desktop\nonebot\New-QQ-Bot2\.venv\Lib\site-packages\nonebot_plugin_htmlrender\__init__.py", line 38, in init
    browser = await get_browser(**kwargs)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\nonebot\New-QQ-Bot2\.venv\Lib\site-packages\nonebot_plugin_htmlrender\browser.py", line 61, in get_browser
    return _browser if _browser and _browser.is_connected() else await init(**kwargs)
                                                                 ^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\nonebot\New-QQ-Bot2\.venv\Lib\site-packages\nonebot_plugin_htmlrender\browser.py", line 32, in init
    _playwright = await async_playwright().start()
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\nonebot\New-QQ-Bot2\.venv\Lib\site-packages\playwright\async_api\_context_manager.py", line 51, in start
    return await self.__aenter__()
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\nonebot\New-QQ-Bot2\.venv\Lib\site-packages\playwright\async_api\_context_manager.py", line 46, in __aenter__
    playwright = AsyncPlaywright(next(iter(done)).result())
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\Desktop\nonebot\New-QQ-Bot2\.venv\Lib\site-packages\playwright\_impl\_transport.py", line 120, in connect
    self._proc = await asyncio.create_subprocess_exec(
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\asyncio\subprocess.py", line 223, in create_subprocess_exec
    transport, protocol = await loop.subprocess_exec(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 1694, in subprocess_exec
    transport = await self._make_subprocess_transport(
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 502, in _make_subprocess_transport
    raise NotImplementedError
NotImplementedError

05-19 21:52:31 [ERROR] uvicorn | Application startup failed. Exiting.

Bug: 出现异常

操作系统

Windows

Python 版本

3.11

NoneBot 版本

2.0

Bilichat 版本

4.7

描述问题

bilichat出错
image

插件的配置项

No response

截图或日志

No response

[新功能] 添加配置项修改openai.api_base

考虑到国内服务器挂代理有可能会出事,所以自己搭了一个openai api的镜像,可在国内访问的那种,希望插件能支持这样用
设置 openai.api_base 就可以实现

视频总结出错,请求帮助

请问这个应该如何解决?

04-22 20:30:57 [ERROR] nonebot_plugin_bilichat | Video(Column) av441997088 summary failed: received 1000 (OK); then sent 1000 (OK)
Traceback (most recent call last):
  File "<string>", line 21, in <module>
  File "D:\code\bot\nonebot\Hao_Tian_Bot\.venv\lib\site-packages\nonebot\__init__.py", line 309, in run
    get_driver().run(*args, **kwargs)
  File "D:\code\bot\nonebot\Hao_Tian_Bot\.venv\lib\site-packages\nonebot\drivers\fastapi.py", line 198, in run
    uvicorn.run(
  File "D:\code\bot\nonebot\Hao_Tian_Bot\.venv\lib\site-packages\uvicorn\main.py", line 568, in run
    server.run()
  File "D:\code\bot\nonebot\Hao_Tian_Bot\.venv\lib\site-packages\uvicorn\server.py", line 59, in run
    return asyncio.run(self.serve(sockets=sockets))
  File "D:\Program Files\Python310\lib\asyncio\runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "D:\Program Files\Python310\lib\asyncio\base_events.py", line 633, in run_until_complete
    self.run_forever()
  File "D:\Program Files\Python310\lib\asyncio\windows_events.py", line 321, in run_forever
    super().run_forever()
  File "D:\Program Files\Python310\lib\asyncio\base_events.py", line 600, in run_forever
    self._run_once()
  File "D:\Program Files\Python310\lib\asyncio\base_events.py", line 1896, in _run_once
    handle._run()
  File "D:\Program Files\Python310\lib\asyncio\events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "D:\code\bot\nonebot\Hao_Tian_Bot\.venv\lib\site-packages\nonebot\message.py", line 141, in _check_matcher
    await _run_matcher(Matcher, bot, event, state, stack, dependency_cache)
  File "D:\code\bot\nonebot\Hao_Tian_Bot\.venv\lib\site-packages\nonebot\message.py", line 187, in _run_matcher
    await matcher.run(bot, event, state, stack, dependency_cache)
  File "D:\code\bot\nonebot\Hao_Tian_Bot\.venv\lib\site-packages\nonebot\internal\matcher\matcher.py", line 753, in run
    await self.simple_run(bot, event, state, stack, dependency_cache)
  File "D:\code\bot\nonebot\Hao_Tian_Bot\.venv\lib\site-packages\nonebot\internal\matcher\matcher.py", line 728, in simple_run
    await handler(
  File "D:\code\bot\nonebot\Hao_Tian_Bot\.venv\lib\site-packages\nonebot\dependencies\__init__.py", line 108, in __call__
    return await cast(Callable[..., Awaitable[R]], self.call)(**values)
  File "D:\code\bot\nonebot\Hao_Tian_Bot\.venv\lib\site-packages\nonebot_plugin_bilichat\__init__.py", line 140, in video_info_v11
    if summary := await summarization(cache=cache, cid=str(info["cid"])):
  File "D:\code\bot\nonebot\Hao_Tian_Bot\.venv\lib\site-packages\nonebot_plugin_bilichat\summary\__init__.py", line 21, in summarization
    summary, newbing_meaning = await newbing_summarization(cache, cid)
> File "D:\code\bot\nonebot\Hao_Tian_Bot\.venv\lib\site-packages\nonebot_plugin_bilichat\summary\newbing_summarise.py", line 96, in newbing_summarization
    ai_summary = await newbing_req(get_small_size_transcripts(cache.title, cache.episodes[cid].content))
  File "D:\code\bot\nonebot\Hao_Tian_Bot\.venv\lib\site-packages\nonebot_plugin_bilichat\summary\newbing_summarise.py", line 76, in newbing_req
    ans = await bot.ask(
  File "D:\code\bot\nonebot\Hao_Tian_Bot\.venv\lib\site-packages\EdgeGPT.py", line 376, in ask
    async for final, response in self.chat_hub.ask_stream(
  File "D:\code\bot\nonebot\Hao_Tian_Bot\.venv\lib\site-packages\EdgeGPT.py", line 310, in ask_stream
    objects = str(await self.wss.recv()).split(DELIMITER)
  File "D:\code\bot\nonebot\Hao_Tian_Bot\.venv\lib\site-packages\websockets\legacy\protocol.py", line 568, in recv
    await self.ensure_open()
  File "D:\code\bot\nonebot\Hao_Tian_Bot\.venv\lib\site-packages\websockets\legacy\protocol.py", line 944, in ensure_open
    raise self.connection_closed_exc()
websockets.exceptions.ConnectionClosedOK: received 1000 (OK); then sent 1000 (OK)

另外我没太理解那个cookies到底要放在哪里,因此每个子目录应该都放了一个,配置里面也写了http代理

Feature: 希望添加一个登录多账号功能

希望能解决的问题

B站号临时冻结

描述所需要的功能

只登录一个B站号的情况下,关注过多,或多人开播会出现B站账号临时冻结的情况,希望添加多个B站账号进行轮询

Feature: WebUI 开发与完善

希望能解决的问题

在 bilichat 的 v5 版本中计划添加 WebUI 以实现更加直观、便捷、简易的使用体验。

但由于个人技术不足,很难独自完成WebUI的前端部分开发。因此,我在此恳请社区的开发者们加入这一努力,帮助我们完成这个重要的里程碑。

如果你对前端开发有经验,或者对该项目感兴趣并愿意贡献一己之力,请不要犹豫,你的帮助将对项目产生深远的影响。

描述所需要的功能

页面设计

目前,WebUI需要包含三个主要页面:

主页:

主页应当对插件的各个子功能进行有效的引导,提供直观的用户界面。

如果设计允许,也可将其他子功能直接整合到主页中。

Bilibili Cookies 更新:

此部分已有通过 ChatGPT4 编写的初步实现,已经可以投入使用,可以进一步的优化。

此页面提供了直接将 bilibili 的 Cookies 直接上传至服务器的功能,也可以生成一个油猴脚本,在用户访问 bilibili 时自动将 cookies 上传至服务器

订阅配置项更新:

这个页面的目的是为了让用户能够直观地管理每个用户(包括群组和频道)的订阅信息,以及订阅部分的整体配置信息。

  1. 配置更新应通过GET方法从API获取当前配置项(JSON格式),然后显示在代码块中,或允许用户手动粘贴配置至代码块。
  2. 需要基于配置项内容渲染可视化的配置项解释和修改功能。
  3. 配置保存后,应使用PUT方法上传至相同的API。如果上传成功,服务器将返回修改后的配置文件;如果失败,状态值可能为400或422,并附带失败原因。
  4. 代码块和可视化部分应保持双向同步,任何一方的改动都应反映在另一方。
  5. 配置文件中 uploader 在前端中无需展示,但前端在展示订阅时可以从中获取对应UP主的信息(如昵称)。

其他信息

  1. API 的文件位于 nonebot_plugin_bilichat/api/,挂载在 /{path}/api/ 下,在 WebUI 启动时会在日志中输出在本机中的访问地址 http://{ip}:{port}/{path}/api/,例如 http://127.0.0.1:8080/bilichat/api/
  2. WebUI 不挂载在 nonebot app 下,可采用 nginx 或其他静态托管服务进行单独部署,类似 Clash 管理面板 的方式工作,即在用户使用前询问用户的后端地址。
  3. 订阅配置项由于可能会在之后的更新中进行修改,请务必在前端页面中保留一定的拓展性。

Bug: 发送检测到的动态和直播通知时报错

操作系统

Windows

Python 版本

3.11.1

NoneBot 版本

2.3.1

Bilichat 版本

5.10.2

描述问题

发送检测到的动态时报错,包括动态和直播都会报错 但是在bilichat中加入一个模块,这个模块中使用nb本身的接口去send一个字符串或者图片是可以发送的

插件的配置项

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

bilichat_cd_time = 120

网络请求重试次数

bilichat_neterror_retry = 3

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

bilichat_use_browser = True

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

bilichat_word_cloud = True

=== AI 总结相关 ===

官方总结接口

bilichat_official_summary = False

openai 接口(需要额外依赖)

bilichat_openai_token = sk-xxxxxxx

网络代理

bilichat_openai_proxy = "http://127.0.0.1:7890/"

COMMAND_SEP=[""]
COMMAND_START=[""]

命令的起始词,可设置为空

bilichat_cmd_start = ""

是否拦截事件(防止其他插件二次解析)

bilichat_block = True

webui使用路径

bilichat_webui_path = "bilichat"

bilichat_webui_path = ""

bilichat_cache_serive = "json"

bilichat_only_to_me = True

PORT=5963

截图或日志

image

想单独使用某个模块

词云和总结看来在env配置行为可以进行使用与不使用,不过不知道“基本信息”的这块是否也可以单独启用与禁用,譬如我目前的需求是想单独使用ai的总结,但不出现视频解析信息和词云,词云可以禁用,但解析的基本信息不知道是否可以在env里填写配置禁用,麻烦大佬了😂

[意见征集] 隐藏无意义的视频总结

对于无意义的视频,现版本的程序会输出一个“无意义”的回复,目前正在考虑新增一个配置项来关闭此输出,但对于具体如何实现和作用范围仍有一些需要考虑的地方。

  1. 无意义的内容是否应记录为视频无意义,避免二次总结。
  2. 此设置是否仅针对openai,是否应包含newbing
  3. 无意义视频是直接关闭返回信息,还是返回一个固定的简短prompt来提示输出无意义
  4. 总结失败和总结无意义是否需要区分,如何区分
    ...

总之对此功能有任何疑问或建议均可以在此issue下提出,这将极大帮助我们完善此插件的设计工作

动态及专栏browser_shot字体问题

操作系统

Linux

Python 版本

3.10.8

NoneBot 版本

2.3.0

Bilichat 版本

5.10.2

描述问题

动态及专栏browser_shot字体无法正常显示。
03DBCCF9F1A00F1B9D53622CAEC680A5

插件的配置项

COMMAND_SEP=[""]
COMMAND_START=[""]
bilichat_cmd_start=""

bilichat_cd_time = 120
bilichat_neterror_retry = 3
bilichat_use_browser = True

截图或日志

后台无报错。
截屏2024-05-12 20 21 01

Feature: 细化推送配置

希望能解决的问题

希望上下播@全体可以分离

描述所需要的功能

直播通知对开播有高需求,但是下播@全体感觉不太合适

请问qq端的nonebot到底怎么部署?

操作系统

Windows

Python 版本

3.10

NoneBot 版本

lastest

Bilichat 版本

lastest

描述问题

如题,我看逻辑似乎是在qq端接收smslogin消息,但是qq端如何接入?我之前使用过gocqhttp,但是对这块不太熟,我似乎没有在项目里找到qq端消息接收回调。
如果尚未接入QQ的话,我应该如何登录?能给个教程吗?

插件的配置项

No response

截图或日志

No response

Bug: 出现异常

操作系统

Windows

Python 版本

3.10

NoneBot 版本

2.2.0

Bilichat 版本

5.6.0

描述问题

lib/fetch_dynamic.py与subscribe/dynamic.py产生循环导入问题

插件的配置项

No response

截图或日志

b69c8f7b8edc562cfa08ea4ab5cf5548

ModuleNotFoundError: No module named 'playwright._impl._api_types'

操作系统

Windows

Python 版本

3.12.2

NoneBot 版本

1.3.1

Bilichat 版本

3.2.0

描述问题

Bilichat和playwright均为最新版本,加载Bilichat时报错。

插件的配置项

No response

截图或日志

Traceback (most recent call last):
File "", line 12, in
File "C:\Code\nonebot\QQbot.venv\Lib\site-packages\nonebot\plugin\load.py", line 130, in load_from_toml
return load_all_plugins(plugins, plugin_dirs)
File "C:\Code\nonebot\QQbot.venv\Lib\site-packages\nonebot\plugin\load.py", line 64, in load_all_plugins
return manager.load_all_plugins()
File "C:\Code\nonebot\QQbot.venv\Lib\site-packages\nonebot\plugin\manager.py", line 176, in load_all_plugins
return set(
File "C:\Code\nonebot\QQbot.venv\Lib\site-packages\nonebot\plugin\manager.py", line 177, in
filter(None, (self.load_plugin(name) for name in self.available_plugins))

File "C:\Code\nonebot\QQbot.venv\Lib\site-packages\nonebot\plugin\manager.py", line 142, in load_plugin
module = importlib.import_module(name)
File "C:\Code\Python\Lib\importlib_init_.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1387, in _gcd_import
File "", line 1360, in find_and_load
File "", line 1331, in find_and_load_unlocked
File "", line 935, in load_unlocked
File "C:\Code\nonebot\QQbot.venv\Lib\site-packages\nonebot\plugin\manager.py", line 242, in exec_module
super().exec_module(module)
File "", line 995, in exec_module
File "", line 488, in call_with_frames_removed
File "C:\Code\nonebot\QQbot.venv\Lib\site-packages\nonebot_plugin_bilichat_init
.py", line 8, in
from . import adatpters
File "C:\Code\nonebot\QQbot.venv\Lib\site-packages\nonebot_plugin_bilichat\adatpters_init
.py", line 11, in
from ..content import Column, Dynamic, Video
File "C:\Code\nonebot\QQbot.venv\Lib\site-packages\nonebot_plugin_bilichat\content_init.py", line 2, in
from .dynamic import Dynamic
File "C:\Code\nonebot\QQbot.venv\Lib\site-packages\nonebot_plugin_bilichat\content\dynamic.py", line 4, in
from ..lib.draw.dynamic import draw_dynamic
File "C:\Code\nonebot\QQbot.venv\Lib\site-packages\nonebot_plugin_bilichat\lib\draw\dynamic_init.py", line 6, in
from .browser_shot import screenshot as draw_dynamic
File "C:\Code\nonebot\QQbot.venv\Lib\site-packages\nonebot_plugin_bilichat\lib\draw\dynamic\browser_shot.py", line 10, in
from playwright._impl._api_types import TimeoutError

bilichat_cache_serive的auto配置无法捕获No module named 'nonebot_plugin_mongodb'错误

升级到3.0(最新)版本后,如果不配置bilichat_cache_serive=json,保持默认的auto,会导致启动时抛出错误ModuleNotFoundError: No module named 'nonebot_plugin_mongodb',观察发现程序成功进入了except内并且运行了logger.info("bilichat_cache_serive can't use MongoDB as cache serive, using JsonFile"),但是仍然会抛出该错误。在我使用的插件中仅有bilichat有mongodb的需求
image

Bug: No module named 'tiktoken_async'

操作系统

Linux

Python 版本

3.11.2

NoneBot 版本

1.2.6

Bilichat 版本

4.12.0

描述问题

nonebot启动失败,无法加载 nonebot_plugin_bilichat

插件的配置项

No response

截图或日志

image

12-06 10:09:20 [ERROR] nonebot | Failed to import "nonebot_plugin_bilichat"
Traceback (most recent call last):
  File "<string>", line 14, in <module>
  File "/root/qqbot/.venv/lib/python3.11/site-packages/nonebot/plugin/load.py", line 130, in load_from_toml
    return load_all_plugins(plugins, plugin_dirs)
  File "/root/qqbot/.venv/lib/python3.11/site-packages/nonebot/plugin/load.py", line 64, in load_all_plugins
    return manager.load_all_plugins()
  File "/root/qqbot/.venv/lib/python3.11/site-packages/nonebot/plugin/manager.py", line 176, in load_all_plugins
    return set(
  File "/root/qqbot/.venv/lib/python3.11/site-packages/nonebot/plugin/manager.py", line 177, in <genexpr>
    filter(None, (self.load_plugin(name) for name in self.available_plugins))
> File "/root/qqbot/.venv/lib/python3.11/site-packages/nonebot/plugin/manager.py", line 142, in load_plugin
    module = importlib.import_module(name)
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "/root/qqbot/.venv/lib/python3.11/site-packages/nonebot/plugin/manager.py", line 242, in exec_module
    super().exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/root/qqbot/.venv/lib/python3.11/site-packages/nonebot_plugin_bilichat/__init__.py", line 67, in <module>
    from . import adapters, commands, subscribe  # noqa: F401, E402
  File "/root/qqbot/.venv/lib/python3.11/site-packages/nonebot_plugin_bilichat/subscribe/__init__.py", line 9, in <module>
    from .dynamic import fetch_dynamics_grpc, fetch_dynamics_rest
  File "/root/qqbot/.venv/lib/python3.11/site-packages/nonebot_plugin_bilichat/subscribe/dynamic.py", line 15, in <module>
    from ..adapters.base_content_parsing import check_cd
  File "/root/qqbot/.venv/lib/python3.11/site-packages/nonebot_plugin_bilichat/adapters/base_content_parsing.py", line 13, in <module>
    from ..summary.text_to_image import t2i
  File "/root/qqbot/.venv/lib/python3.11/site-packages/nonebot_plugin_bilichat/summary/__init__.py", line 6, in <module>
    from .openai_summarise import openai_summarization
  File "/root/qqbot/.venv/lib/python3.11/site-packages/nonebot_plugin_bilichat/summary/openai_summarise.py", line 9, in <module>
    from .openai import get_small_size_transcripts, get_summarise_prompt, openai_req
  File "/root/qqbot/.venv/lib/python3.11/site-packages/nonebot_plugin_bilichat/summary/openai.py", line 7, in <module>
    import tiktoken_async
ModuleNotFoundError: No module named 'tiktoken_async'

Bug: 严重问题,tiktoken-async无法兼容Python 3.12

操作系统

Windows

Python 版本

Python 3.12.2

NoneBot 版本

最新

Bilichat 版本

最新

描述问题

  To install, run `rustup component add rustc`
  error: can't find Rust compiler

  If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.

  To update pip, run:

      pip install --upgrade pip

  and then retry package installation.

  If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain.
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for tiktoken-async
Failed to build tiktoken-async
ERROR: Could not build wheels for tiktoken-async, which is required to install pyproject.toml-based projects

我网上搜索了一大圈,发现tiktoken最近才兼容Python 3.12,但tiktoken-async并不兼容3.12,只兼容3.11,就算下载了Rust来编译也无法正常工作,导致pip install nonebot-plugin-bilichat[all]往往卡在tiktoken-async那边无法正常运作

插件的配置项

No response

截图或日志

No response

Bug: mirai2无回复

操作系统

Linux

Python 版本

3.10.12

NoneBot 版本

nonebot cli version 1.2.8

Bilichat 版本

5.1.3

描述问题

nonebot无法回复消息,如输入“/查看”,后台能看到nonebot接受到了消息,但qq无回应,使用的适配器是mirai2,看上去是“Handler Dependent(call=check_sub) skipped”的问题

01-08 22:36:25 [SUCCESS] nonebot | mirai2 1361804427 | [GroupMessage]: {'self_id': ***, 'type': 'GroupMessage', 'message_chain': [{'type': 'Plain', 'data': {'text': '/查看'}}], 'source': {'id': 4259, 'time': '2024-01-08T14:36:25+00:00'}, 'sender': {'id': ***, 'name': '七九殇', 'special_title': '', 'permission': 'MEMBER', 'join_timestamp': 1574145563, 'last_speak_timestamp': 1704724585, 'mute_time_remaining': 0, 'group': {'id': , 'name': '', 'permission': 'MEMBER'}}, 'quote': None, 'to_me': True}
01-08 22:36:25 [DEBUG] nonebot | Checking for matchers in priority 1...
01-08 22:36:25 [INFO] nonebot | Event will be handled by Matcher(type='message', module=nonebot_plugin_bilichat.commands.subs, lineno=15)
01-08 22:36:25 [DEBUG] nonebot | Running Matcher(type='message', module=nonebot_plugin_bilichat.commands.subs, lineno=15)
01-08 22:36:25 [DEBUG] nonebot | Running handler Dependent(call=check_sub)
01-08 22:36:25 [DEBUG] nonebot | Handler Dependent(call=check_sub) skipped
01-08 22:36:25 [INFO] nonebot | Matcher(type='message', module=nonebot_plugin_bilichat.commands.subs, lineno=15) running complete
01-08 22:36:25 [DEBUG] nonebot | Checking for matchers completed

插件的配置项

DRIVER=~fastapi+~websockets
HOST=127.0.0.1
PORT=17501
LOG_LEVEL=DEBUG
SUPERUSERS=["***"]
COMMAND_START=["/"]

MIRAI_HOST=localhost
MIRAI_PORT=17500
VERIFY_KEY=***
MIRAI_QQ=[***]

bilichat_cd_time = 120
bilichat_neterror_retry = 3
bilichat_use_browser = True
bilichat_text_fonts = "yahei"
bilichat_webui_path = "bilichat"
bilichat_cache_serive = "json"
bilichat_dynamic = True
bilichat_basic_info = True
bilichat_whitelist = ["***"]

截图或日志

echo插件正常回复,bilichat无回复
4
1
2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.