From f6a816a71627f3ec9d82b650ef310ab629603b9e Mon Sep 17 00:00:00 2001 From: felinae98 <731499577@qq.com> Date: Fri, 5 Aug 2022 23:15:53 +0800 Subject: [PATCH] update bilibili-bangumi parser --- src/plugins/nonebot_bison/platform/bilibili.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/plugins/nonebot_bison/platform/bilibili.py b/src/plugins/nonebot_bison/platform/bilibili.py index f5acf43..3903c0c 100644 --- a/src/plugins/nonebot_bison/platform/bilibili.py +++ b/src/plugins/nonebot_bison/platform/bilibili.py @@ -46,10 +46,8 @@ class Bilibili(NewMessage): async def parse_target(self, target_text: str) -> Target: if re.match(r"\d+", target_text): return Target(target_text) - elif match := re.match( - r"(?:https?://)?space\.bilibili\.com/(\d+)", target_text - ): - return Target(match.group(1)) + elif m := re.match(r"(?:https?://)?space\.bilibili\.com/(\d+)", target_text): + return Target(m.group(1)) else: raise self.ParseTargetException() @@ -241,6 +239,7 @@ class BilibiliBangumi(StatusChange): scheduler_class = "bilibili.com" name = "Bilibili剧集" has_target = True + parse_target_promot = "请输入剧集主页" _url = "https://api.bilibili.com/pgc/review/user" @@ -252,6 +251,17 @@ class BilibiliBangumi(StatusChange): return None return res_data["result"]["media"]["title"] + async def parse_target(self, target_string: str) -> Target: + if re.match(r"\d+", target_string): + return Target(target_string) + elif m := re.match(r"md(\d+)", target_string): + return Target(m.group(1)) + elif m := re.match( + r"(?:https?://)?www\.bilibili\.com/bangumi/media/md(\d+)/", target_string + ): + return Target(m.group(1)) + raise self.ParseTargetException() + async def get_status(self, target: Target): async with http_client() as client: res = await client.get(