Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ dependencies = [
"apilmoji[rich]>=0.3.1,<1.0.0",
"beautifulsoup4>=4.12.0,<5.0.0",
"curl_cffi>=0.13.0,<1.0.0,!=0.14.0",
"bilibili-api-python>=17.4.2,<18.0.0",
"nonebot-plugin-uninfo>=0.10.1,<1.0.0",
"nonebot-plugin-alconna>=0.60.4,<1.0.0",
"nonebot-plugin-localstore>=0.7.4,<1.0.0",
Expand Down
17 changes: 8 additions & 9 deletions src/nonebot_plugin_parser/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,8 @@
from nonebot import logger, require, get_driver, get_plugin_config
from apilmoji import ELK_SH_CDN, EmojiStyle
from pydantic import BaseModel
from bilibili_api.video import VideoCodecs, VideoQuality

from .constants import RenderType, PlatformEnum
from .constants import RenderType, PlatformEnum, BiliVideoCodec, BiliVideoQuality

require("nonebot_plugin_localstore")
import nonebot_plugin_localstore as _store
Expand Down Expand Up @@ -36,13 +35,13 @@ class Config(BaseModel):
"""是否在解析结果中附加原始URL"""
parser_disabled_platforms: list[PlatformEnum] = []
"""禁止的解析器"""
parser_bili_video_codes: list[VideoCodecs] = [
VideoCodecs.AVC,
VideoCodecs.AV1,
VideoCodecs.HEV,
parser_bili_video_codes: list[BiliVideoCodec] = [
BiliVideoCodec.AVC,
BiliVideoCodec.AV1,
BiliVideoCodec.HEV,
]
"""B站视频编码"""
parser_bili_video_quality: VideoQuality = VideoQuality._1080P
parser_bili_video_quality: BiliVideoQuality = BiliVideoQuality._1080P
"""B站视频分辨率"""
parser_render_type: RenderType = RenderType.common
"""Renderer 类型"""
Expand Down Expand Up @@ -95,12 +94,12 @@ def disabled_platforms(self) -> list[PlatformEnum]:
return self.parser_disabled_platforms

@property
def bili_video_codes(self) -> list[VideoCodecs]:
def bili_video_codes(self) -> list[BiliVideoCodec]:
"""B站视频编码"""
return self.parser_bili_video_codes

@property
def bili_video_quality(self) -> VideoQuality:
def bili_video_quality(self) -> BiliVideoQuality:
"""B站视频分辨率"""
return self.parser_bili_video_quality

Expand Down
22 changes: 21 additions & 1 deletion src/nonebot_plugin_parser/constants.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from enum import Enum
from enum import Enum, IntEnum
from typing import Final

from httpx import Timeout
Expand Down Expand Up @@ -29,6 +29,26 @@
DOWNLOAD_TIMEOUT: Final[Timeout] = Timeout(connect=15.0, read=240.0, write=10.0, pool=10.0)


class BiliVideoCodec(str, Enum):
"""B站视频编码"""

AVC = "avc"
AV1 = "av1"
HEV = "hev"


class BiliVideoQuality(IntEnum):
"""B站视频分辨率"""

_360P = 16
_480P = 32
_720P = 64
_1080P = 80
_1080P_PLUS = 112
_1080P_60 = 116
_4K = 120


class PlatformEnum(str, Enum):
ACFUN = "acfun"
BILIBILI = "bilibili"
Expand Down
4 changes: 2 additions & 2 deletions src/nonebot_plugin_parser/matchers/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ async def _(message: Message = CommandArg()):
@on_command("blogin", block=True, permission=SUPER_PRIVATE).handle()
async def _():
parser = get_parser_by_type(BilibiliParser)
qrcode = await parser.login_with_qrcode()
qrcode = await parser._api_client.login_with_qrcode()
await UniMessage(UniHelper.img_seg(qrcode)).send()
async for msg in parser.check_qr_state():
async for msg in parser._api_client.check_qr_state():
await UniMessage(msg).send()
Loading
Loading