nonebot-plugin-bililive 2.1.0__tar.gz → 2.1.2__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.0 → nonebot_plugin_bililive-2.1.2}/PKG-INFO +1 -1
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/__init__.py +6 -9
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/config.py +1 -8
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/utils/__init__.py +5 -7
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/version.py +1 -1
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/pyproject.toml +2 -2
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/tests/test_maintenance.py +12 -2
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/LICENSE +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/README.md +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/__main__.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/bilibili_api.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/cli/__init__.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/cli/bot.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/cli/utils.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/database/__init__.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/database/db.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/database/models.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/libs/__init__.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/libs/dynamic/__init__.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/libs/dynamic/card.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/libs/dynamic/desc.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/libs/dynamic/display.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/libs/dynamic/user_profile.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/libs/dynamic/web.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/plugins/__init__.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/plugins/at/__init__.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/plugins/at/at_off.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/plugins/at/at_on.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/plugins/auto_agree.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/plugins/auto_delete.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/plugins/dynamic/__init__.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/plugins/dynamic/dynamic_off.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/plugins/dynamic/dynamic_on.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/plugins/help.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/plugins/live/__init__.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/plugins/live/live_now.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/plugins/live/live_off.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/plugins/live/live_on.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/plugins/permission/__init__.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/plugins/permission/permission_off.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/plugins/permission/permission_on.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/plugins/pusher/__init__.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/plugins/pusher/dynamic_pusher.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/plugins/pusher/live_pusher.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/plugins/sub/__init__.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/plugins/sub/add_sub.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/plugins/sub/delete_sub.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/plugins/sub/sub_list.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/utils/browser.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/utils/captcha_solver.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/utils/fonts_provider.py +0 -0
- {nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/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.2
|
|
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.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/__init__.py
RENAMED
|
@@ -1,20 +1,17 @@
|
|
|
1
|
+
from nonebot import require
|
|
1
2
|
from nonebot.plugin import PluginMetadata
|
|
2
|
-
from nonebot.plugin.manager import PluginLoader
|
|
3
3
|
|
|
4
4
|
from .config import Config, plugin_config
|
|
5
5
|
from .version import VERSION, __version__
|
|
6
6
|
|
|
7
|
+
require("nonebot_plugin_localstore")
|
|
8
|
+
require("nonebot_plugin_apscheduler")
|
|
7
9
|
|
|
8
|
-
|
|
9
|
-
if force or isinstance(globals()["__loader__"], PluginLoader):
|
|
10
|
-
from .utils import on_startup
|
|
10
|
+
from .utils import on_startup
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
on_startup()
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
bootstrap_plugin()
|
|
14
|
+
from . import plugins # noqa: F401
|
|
18
15
|
|
|
19
16
|
__plugin_meta__ = PluginMetadata(
|
|
20
17
|
name="BiliLive",
|
{nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/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
|
|
@@ -7,7 +7,8 @@ from typing import Annotated
|
|
|
7
7
|
|
|
8
8
|
import httpx
|
|
9
9
|
import nonebot
|
|
10
|
-
|
|
10
|
+
import nonebot_plugin_localstore as store
|
|
11
|
+
from nonebot import logger
|
|
11
12
|
from nonebot import on_command as _on_command
|
|
12
13
|
from nonebot.adapters.onebot.v11 import (
|
|
13
14
|
ActionFailed,
|
|
@@ -27,13 +28,12 @@ from nonebot.rule import Rule
|
|
|
27
28
|
|
|
28
29
|
from ..config import plugin_config
|
|
29
30
|
|
|
30
|
-
|
|
31
|
-
import nonebot_plugin_localstore as store
|
|
31
|
+
DATA_DIR = store.get_plugin_data_dir()
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
def get_data_dir():
|
|
35
35
|
"""获取插件数据目录。"""
|
|
36
|
-
return
|
|
36
|
+
return DATA_DIR
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
def get_path(*other):
|
|
@@ -297,14 +297,12 @@ def on_startup():
|
|
|
297
297
|
check_proxy()
|
|
298
298
|
install()
|
|
299
299
|
asyncio.get_event_loop().run_until_complete(check_playwright_env())
|
|
300
|
-
|
|
300
|
+
DATA_DIR.mkdir(parents=True, exist_ok=True)
|
|
301
301
|
|
|
302
302
|
|
|
303
303
|
def on_command(cmd, *args, **kwargs):
|
|
304
304
|
return _on_command(plugin_config.bililive_command_prefix + cmd, *args, **kwargs)
|
|
305
305
|
|
|
306
|
-
|
|
307
|
-
require("nonebot_plugin_apscheduler")
|
|
308
306
|
from nonebot_plugin_apscheduler import scheduler # noqa
|
|
309
307
|
|
|
310
308
|
from .browser import ( # noqa
|
|
@@ -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.2"
|
|
43
43
|
|
|
44
44
|
[project.license]
|
|
45
45
|
text = "AGPL-3.0-or-later"
|
|
@@ -51,7 +51,7 @@ Documentation = "https://github.com/Akiyy-dev/nonebot-plugin-bililive#readme"
|
|
|
51
51
|
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
55
|
|
|
56
56
|
[project.scripts]
|
|
57
57
|
bililive = "nonebot_plugin_bililive.__main__:main"
|
|
@@ -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()
|
|
@@ -112,11 +122,11 @@ class PluginEntryTests(unittest.TestCase):
|
|
|
112
122
|
pyproject = Path("pyproject.toml").read_text(encoding="utf-8")
|
|
113
123
|
|
|
114
124
|
self.assertIn(
|
|
115
|
-
'
|
|
125
|
+
'nonebot-plugin-bililive = "nonebot_plugin_bililive"',
|
|
116
126
|
pyproject,
|
|
117
127
|
)
|
|
118
|
-
self.assertNotIn('nonebot-plugin-bililive = "nonebot_plugin_bililive"', pyproject)
|
|
119
128
|
self.assertIn('bililive = "nonebot_plugin_bililive.__main__:main"', pyproject)
|
|
129
|
+
self.assertIn('includes = ["nonebot_plugin_bililive"]', pyproject)
|
|
120
130
|
self.assertNotIn('nonebot2[fastapi]>=', pyproject)
|
|
121
131
|
self.assertNotIn('bilireq>=', pyproject)
|
|
122
132
|
|
|
File without changes
|
|
File without changes
|
{nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/__main__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/nonebot_plugin_bililive/cli/bot.py
RENAMED
|
File without changes
|
{nonebot_plugin_bililive-2.1.0 → nonebot_plugin_bililive-2.1.2}/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
|