nonebot-plugin-bililive 2.1.1__tar.gz → 2.1.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/PKG-INFO +1 -1
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/__init__.py +3 -10
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/config.py +1 -8
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/utils/__init__.py +11 -3
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/version.py +1 -1
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/pyproject.toml +1 -3
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/tests/test_maintenance.py +11 -10
- nonebot_plugin_bililive-2.1.1/nonebot-plugin-bililive/__init__.py +0 -3
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/LICENSE +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/README.md +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/__main__.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/bilibili_api.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/cli/__init__.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/cli/bot.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/cli/utils.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/database/__init__.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/database/db.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/database/models.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/libs/__init__.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/libs/dynamic/__init__.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/libs/dynamic/card.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/libs/dynamic/desc.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/libs/dynamic/display.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/libs/dynamic/user_profile.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/libs/dynamic/web.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/plugins/__init__.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/plugins/at/__init__.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/plugins/at/at_off.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/plugins/at/at_on.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/plugins/auto_agree.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/plugins/auto_delete.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/plugins/dynamic/__init__.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/plugins/dynamic/dynamic_off.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/plugins/dynamic/dynamic_on.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/plugins/help.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/plugins/live/__init__.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/plugins/live/live_now.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/plugins/live/live_off.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/plugins/live/live_on.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/plugins/permission/__init__.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/plugins/permission/permission_off.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/plugins/permission/permission_on.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/plugins/pusher/__init__.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/plugins/pusher/dynamic_pusher.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/plugins/pusher/live_pusher.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/plugins/sub/__init__.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/plugins/sub/add_sub.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/plugins/sub/delete_sub.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/plugins/sub/sub_list.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/utils/browser.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/utils/captcha_solver.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/utils/fonts_provider.py +0 -0
- {nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/utils/mobile.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: nonebot-plugin-bililive
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.3
|
|
4
4
|
Summary: Push bilibili dynamics and live notifications to QQ with NoneBot2.
|
|
5
5
|
Keywords: nonebot,nonebot2,nonebot-plugin,bilibili,onebot,onebot-v11
|
|
6
6
|
Author-Email: Akiyy_Lab <2806578374@qq.com>
|
{nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/__init__.py
RENAMED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
from nonebot import require
|
|
2
2
|
from nonebot.plugin import PluginMetadata
|
|
3
|
-
from nonebot.plugin.manager import PluginLoader
|
|
4
3
|
|
|
5
4
|
from .config import Config, plugin_config
|
|
6
5
|
from .version import VERSION, __version__
|
|
@@ -8,17 +7,11 @@ from .version import VERSION, __version__
|
|
|
8
7
|
require("nonebot_plugin_localstore")
|
|
9
8
|
require("nonebot_plugin_apscheduler")
|
|
10
9
|
|
|
10
|
+
from .utils import on_startup
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
if force or isinstance(globals()["__loader__"], PluginLoader):
|
|
14
|
-
from .utils import on_startup
|
|
12
|
+
on_startup()
|
|
15
13
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
from . import plugins # noqa: F401
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
bootstrap_plugin()
|
|
14
|
+
from . import plugins # noqa: F401
|
|
22
15
|
|
|
23
16
|
__plugin_meta__ = PluginMetadata(
|
|
24
17
|
name="BiliLive",
|
{nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/config.py
RENAMED
|
@@ -3,19 +3,12 @@ from collections.abc import Mapping
|
|
|
3
3
|
from typing import Any
|
|
4
4
|
|
|
5
5
|
from nonebot import get_plugin_config, logger
|
|
6
|
-
from nonebot.compat import
|
|
6
|
+
from nonebot.compat import field_validator, model_validator
|
|
7
7
|
from pydantic import BaseModel
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
# 其他地方出现的类似 from .. import config,均是从 __init__.py 导入的 Config 实例
|
|
11
11
|
class Config(BaseModel):
|
|
12
|
-
if PYDANTIC_V2:
|
|
13
|
-
model_config = ConfigDict(extra="ignore")
|
|
14
|
-
else:
|
|
15
|
-
|
|
16
|
-
class Config:
|
|
17
|
-
extra = "ignore"
|
|
18
|
-
|
|
19
12
|
fastapi_reload: bool = False
|
|
20
13
|
bililive_to_me: bool = True
|
|
21
14
|
bililive_live_off_notify: bool = False
|
|
@@ -28,10 +28,12 @@ from nonebot.rule import Rule
|
|
|
28
28
|
|
|
29
29
|
from ..config import plugin_config
|
|
30
30
|
|
|
31
|
+
DATA_DIR = store.get_plugin_data_dir()
|
|
32
|
+
|
|
31
33
|
|
|
32
34
|
def get_data_dir():
|
|
33
35
|
"""获取插件数据目录。"""
|
|
34
|
-
return
|
|
36
|
+
return DATA_DIR
|
|
35
37
|
|
|
36
38
|
|
|
37
39
|
def get_path(*other):
|
|
@@ -294,8 +296,14 @@ def on_startup():
|
|
|
294
296
|
|
|
295
297
|
check_proxy()
|
|
296
298
|
install()
|
|
297
|
-
|
|
298
|
-
|
|
299
|
+
try:
|
|
300
|
+
asyncio.get_event_loop().run_until_complete(check_playwright_env())
|
|
301
|
+
except ImportError as err:
|
|
302
|
+
logger.warning(
|
|
303
|
+
"Playwright 运行环境不完整,已跳过启动时强校验;"
|
|
304
|
+
f"涉及截图/浏览器能力时可能不可用。错误:{err}"
|
|
305
|
+
)
|
|
306
|
+
DATA_DIR.mkdir(parents=True, exist_ok=True)
|
|
299
307
|
|
|
300
308
|
|
|
301
309
|
def on_command(cmd, *args, **kwargs):
|
|
@@ -39,7 +39,7 @@ dependencies = [
|
|
|
39
39
|
"msvc-runtime>=14.34.31931; sys_platform == \"win32\"",
|
|
40
40
|
]
|
|
41
41
|
dynamic = []
|
|
42
|
-
version = "2.1.
|
|
42
|
+
version = "2.1.3"
|
|
43
43
|
|
|
44
44
|
[project.license]
|
|
45
45
|
text = "AGPL-3.0-or-later"
|
|
@@ -52,7 +52,6 @@ Issues = "https://github.com/Akiyy-dev/nonebot-plugin-bililive/issues"
|
|
|
52
52
|
|
|
53
53
|
[project.entry-points."nonebot.plugin"]
|
|
54
54
|
nonebot-plugin-bililive = "nonebot_plugin_bililive"
|
|
55
|
-
nonebot_plugin_bililive = "nonebot_plugin_bililive"
|
|
56
55
|
|
|
57
56
|
[project.scripts]
|
|
58
57
|
bililive = "nonebot_plugin_bililive.__main__:main"
|
|
@@ -77,7 +76,6 @@ path = "nonebot_plugin_bililive/version.py"
|
|
|
77
76
|
[tool.pdm.build]
|
|
78
77
|
includes = [
|
|
79
78
|
"nonebot_plugin_bililive",
|
|
80
|
-
"nonebot-plugin-bililive",
|
|
81
79
|
]
|
|
82
80
|
|
|
83
81
|
[tool.pdm.dev-dependencies]
|
|
@@ -6,6 +6,8 @@ from pathlib import Path
|
|
|
6
6
|
from types import ModuleType, SimpleNamespace
|
|
7
7
|
from unittest.mock import AsyncMock, patch
|
|
8
8
|
|
|
9
|
+
import nonebot
|
|
10
|
+
|
|
9
11
|
|
|
10
12
|
class DummyDriver:
|
|
11
13
|
config = {}
|
|
@@ -22,6 +24,12 @@ fake_localstore = ModuleType("nonebot_plugin_localstore")
|
|
|
22
24
|
|
|
23
25
|
|
|
24
26
|
class DummyScheduler:
|
|
27
|
+
def scheduled_job(self, *args, **kwargs):
|
|
28
|
+
def decorator(func):
|
|
29
|
+
return func
|
|
30
|
+
|
|
31
|
+
return decorator
|
|
32
|
+
|
|
25
33
|
def add_listener(self, *args, **kwargs):
|
|
26
34
|
return None
|
|
27
35
|
|
|
@@ -41,6 +49,8 @@ def _get_plugin_data_dir() -> Path:
|
|
|
41
49
|
|
|
42
50
|
fake_localstore.get_plugin_data_dir = _get_plugin_data_dir
|
|
43
51
|
|
|
52
|
+
nonebot.init(driver="~none", log_level="ERROR")
|
|
53
|
+
|
|
44
54
|
|
|
45
55
|
with patch("nonebot.get_driver", return_value=DummyDriver()), patch(
|
|
46
56
|
"nonebot.get_plugin_config", side_effect=lambda cls: cls()
|
|
@@ -56,7 +66,6 @@ with patch("nonebot.get_driver", return_value=DummyDriver()), patch(
|
|
|
56
66
|
db_module = import_module("nonebot_plugin_bililive.database.db")
|
|
57
67
|
web_dynamic = import_module("nonebot_plugin_bililive.libs.dynamic.web")
|
|
58
68
|
plugin_entry = import_module("nonebot_plugin_bililive")
|
|
59
|
-
hyphen_plugin_entry = import_module("nonebot-plugin-bililive")
|
|
60
69
|
DB = db_module.DB
|
|
61
70
|
models = import_module("nonebot_plugin_bililive.database.models")
|
|
62
71
|
Group = models.Group
|
|
@@ -103,7 +112,6 @@ class PluginEntryTests(unittest.TestCase):
|
|
|
103
112
|
self.assertEqual(plugin_entry.__plugin_meta__.config, Config)
|
|
104
113
|
self.assertEqual(plugin_entry.__plugin_meta__.extra["author"], "Akiyy_Lab")
|
|
105
114
|
self.assertEqual(plugin_entry.__version__, core_version.__version__)
|
|
106
|
-
self.assertIs(hyphen_plugin_entry.__plugin_meta__, plugin_entry.__plugin_meta__)
|
|
107
115
|
|
|
108
116
|
def test_default_data_dir_uses_localstore(self):
|
|
109
117
|
expected = _get_plugin_data_dir() / "data.sqlite3"
|
|
@@ -117,15 +125,8 @@ class PluginEntryTests(unittest.TestCase):
|
|
|
117
125
|
'nonebot-plugin-bililive = "nonebot_plugin_bililive"',
|
|
118
126
|
pyproject,
|
|
119
127
|
)
|
|
120
|
-
self.assertIn(
|
|
121
|
-
'nonebot_plugin_bililive = "nonebot_plugin_bililive"',
|
|
122
|
-
pyproject,
|
|
123
|
-
)
|
|
124
128
|
self.assertIn('bililive = "nonebot_plugin_bililive.__main__:main"', pyproject)
|
|
125
|
-
self.assertIn(
|
|
126
|
-
'includes = ["nonebot_plugin_bililive", "nonebot-plugin-bililive"]',
|
|
127
|
-
pyproject,
|
|
128
|
-
)
|
|
129
|
+
self.assertIn('includes = ["nonebot_plugin_bililive"]', pyproject)
|
|
129
130
|
self.assertNotIn('nonebot2[fastapi]>=', pyproject)
|
|
130
131
|
self.assertNotIn('bilireq>=', pyproject)
|
|
131
132
|
|
|
File without changes
|
|
File without changes
|
{nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/__main__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/cli/bot.py
RENAMED
|
File without changes
|
{nonebot_plugin_bililive-2.1.1 → nonebot_plugin_bililive-2.1.3}/nonebot_plugin_bililive/cli/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|