diff --git a/README.md b/README.md index 746ac58..b6e0f30 100644 --- a/README.md +++ b/README.md @@ -87,7 +87,9 @@ B站UP的更新与开播通知机,默认每分钟爬取一次B站账号的动 |:-----:|:----:|:----:|:----:| | bnotifier_cookies | 是 | 无 | 上面导出的B站cookies的文件路径 | | bnotifier_push_updates | 否 | {} | 设置追踪更新的UP主的ID(点击主页后地址中显示的space.bilibili.com/\[这个号码\])以及要推送的QQ群号,格式为{UP1: \[QQ群1, QQ群2, ...\], ...}。注意全部号码都应为字符串,一个例子:`{"823532": ["xxxxx", "yyyyy"]}`| -| bnotifier_push_lives | 否 | 无 | 同bnotifier_push_updates但这个变量控制的是开播通知 | +| bnotifier_push_updates_by_group | 否 | {} | 作用同bnotifier_push_updates但格式为{QQ群: \[UP1, UP2, \]},选择一个更适合你的方式即可 | +| bnotifier_push_lives | 否 | {} | 同bnotifier_push_updates但这个变量控制的是开播通知 | +| bnotifier_push_lives_by_group | 否 | {} | 格式同bnotifier_push_updates_by_group但这个变量控制的是开播通知 | 其它配置为开发调试时使用,正常使用无需调整。 diff --git a/nonebot_plugin_bilibili_notifier/__init__.py b/nonebot_plugin_bilibili_notifier/__init__.py index f186e58..9641ab7 100644 --- a/nonebot_plugin_bilibili_notifier/__init__.py +++ b/nonebot_plugin_bilibili_notifier/__init__.py @@ -89,6 +89,16 @@ def get_credential(file: str): def get_last_update(): return int(time.time()) - config.bnotifier_timeshift +# 把{qq: [mid]}的形式转化为{mid: [qq]} +def convert_by_group(by_group: dict, normal: dict): + for k, v in by_group.items(): + for ups in v: + if ups in normal: + normal[ups].append(k) + else: + normal[ups] = [k] + + config = get_plugin_config(Config) logger.debug(config) credential = get_credential(config.bnotifier_cookies) @@ -98,6 +108,11 @@ def get_last_update(): last_live = None # 设置延时 settings.timeout = config.bnotifier_api_timeout +# 将by group的配置转化为标准配置 +convert_by_group(config.bnotifier_push_updates_by_group, config.bnotifier_push_updates) +convert_by_group(config.bnotifier_push_lives_by_group, config.bnotifier_push_lives) +logger.info(f'推送更新消息的用户:群:{config.bnotifier_push_updates}' ) +logger.info(f'推送直播消息的用户:群:{config.bnotifier_push_lives}' ) @scheduler.scheduled_job('cron', second='0', misfire_grace_time=60) # = UTC+8 1445 async def fetch_bilibili_updates(): diff --git a/nonebot_plugin_bilibili_notifier/config.py b/nonebot_plugin_bilibili_notifier/config.py index 01631f9..593e48c 100644 --- a/nonebot_plugin_bilibili_notifier/config.py +++ b/nonebot_plugin_bilibili_notifier/config.py @@ -15,6 +15,16 @@ class Config(BaseModel): 推送直播更新的up {UPs: [QQ群, ...]} """ + bnotifier_push_updates_by_group: dict = {} + """ + 推送视频/动态更新的up (以QQ群为key) + {QQ群: [UPs, ...]} + """ + bnotifier_push_lives_by_group: dict = {} + """ + 推送直播更新的up (以QQ群为key) + {QQ群: [UPs, ...]} + """ bnotifier_push_after: int = 0 """ dev用,只推送晚于这个时间的动态,默认0为程序启动时间 diff --git a/pyproject.toml b/pyproject.toml index c960c2e..1df21a7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "nonebot-plugin-bilibili-notifier" -version = "0.0.1" +version = "0.0.2" description = "NoneBot2 plugin for Bilibili update and live notifications" authors = [ {name = "Variante", email = "382086919@qq.com"},