Update regex
This commit is contained in:
parent
8fa8ff0aa7
commit
3825abe48e
10 changed files with 19 additions and 50 deletions
|
@ -41,23 +41,15 @@ async def _(msg: Bot.MessageSession):
|
|||
|
||||
|
||||
@bili.regex(
|
||||
re.compile(r"https?://(?:www\.|m\.)?bilibili\.com(?:/video|)/(av\d+|BV[A-Za-z0-9]{10})(?:/.*?|)|"
|
||||
r"https?://(?:bili(?:22|33|2233)\.cn|b23\.tv)/(av\d+|BV[A-Za-z0-9]{10}|[A-Za-z0-9]{7})(?:/.*?|)"),
|
||||
re.compile(r"https?://(?:bili(?:22|33|2233)\.cn|b23\.tv)/([A-Za-z0-9]{7})(?:/.*?|)"),
|
||||
mode="A",
|
||||
desc="{bilibili.help.regex.url}")
|
||||
async def _(msg: Bot.MessageSession):
|
||||
Logger.debug(str(msg.matched_msg))
|
||||
video = msg.matched_msg[0]
|
||||
if video[:2] == "BV":
|
||||
query = f"?bvid={video}"
|
||||
elif video[:2] == "av":
|
||||
query = f"?aid={video[2:]}"
|
||||
else:
|
||||
query = await parse_shorturl(f"https://b23.tv/{video}")
|
||||
if not query:
|
||||
return
|
||||
|
||||
await get_video_info(msg, query, nolink=True)
|
||||
video = msg.matched_msg[0][0]
|
||||
query = await parse_shorturl(f"https://b23.tv/{video}")
|
||||
if not query:
|
||||
return
|
||||
await get_video_info(msg, query)
|
||||
|
||||
|
||||
async def parse_shorturl(shorturl):
|
||||
|
|
|
@ -12,7 +12,7 @@ headers = {
|
|||
}
|
||||
|
||||
|
||||
async def get_video_info(msg: Bot.MessageSession, query, get_detail=False, nolink=False):
|
||||
async def get_video_info(msg: Bot.MessageSession, query, get_detail=False):
|
||||
try:
|
||||
url = f'https://api.bilibili.com/x/web-interface/view/detail{query}'
|
||||
res = await get_url(url, 200, headers=headers, fmt='json')
|
||||
|
@ -30,6 +30,7 @@ async def get_video_info(msg: Bot.MessageSession, query, get_detail=False, nolin
|
|||
view = res['data']['View']
|
||||
stat = view['stat']
|
||||
|
||||
video_url = f"https://www.bilibili.com/video/{view['bvid']}"
|
||||
pic = view['pic']
|
||||
title = view['title']
|
||||
tname = view['tname']
|
||||
|
@ -61,11 +62,8 @@ async def get_video_info(msg: Bot.MessageSession, query, get_detail=False, nolin
|
|||
reply=stat_reply,
|
||||
like=stat_like, coin=stat_coin, favorite=stat_favorite, share=stat_share,
|
||||
desc=desc, time=time)
|
||||
if nolink:
|
||||
await msg.finish([Image(pic), Plain(output)])
|
||||
else:
|
||||
video_url = f"https://www.bilibili.com/video/{view['bvid']}"
|
||||
await msg.finish([Image(pic), Url(video_url), Plain(output)])
|
||||
|
||||
await msg.finish([Image(pic), Url(video_url), Plain(output)])
|
||||
|
||||
|
||||
def format_num(number):
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"bilibili.help.option.i": "Get detailed info.",
|
||||
"bilibili.help.regex.av": "Input AV ID for video info.",
|
||||
"bilibili.help.regex.bv": "Input BV ID for video info.",
|
||||
"bilibili.help.regex.url": "Input URL for video info.",
|
||||
"bilibili.help.regex.url": "Input short URL for video info.",
|
||||
"bilibili.message": "Title: ${title}\nCategory: ${tname}\nUploader: ${owner}\nDate: ${time}",
|
||||
"bilibili.message.detail": "Title: ${title}${pages} | Category: ${tname}\nUploader: ${owner} | Fans: ${fans}\nDescription: ${desc}\nView: ${view} | Danmuku: ${danmaku} | Comments: ${reply}\nLike: ${like} | Coin: ${coin} | Favorite: ${favorite} | Share: ${share}\nDate: ${time}",
|
||||
"bilibili.message.error.rejected": "An error occurred: The request was rejected because of the Bilibili security control policy. Please try again later.\nIf the error persists, please contact the developers to resolve the issue.",
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"bilibili.help.option.i": "获取详细信息。",
|
||||
"bilibili.help.regex.av": "发送 AV 号获取视频信息。",
|
||||
"bilibili.help.regex.bv": "发送 BV 号获取视频信息。",
|
||||
"bilibili.help.regex.url": "发送 URL 获取视频信息。",
|
||||
"bilibili.help.regex.url": "发送短 URL 获取视频信息。",
|
||||
"bilibili.message": "标题:${title}\n类型:${tname}\nUP主:${owner}\n日期:${time}",
|
||||
"bilibili.message.detail": "标题:${title}${pages} | 类型:${tname}\nUP主:${owner} | 粉丝:${fans}\n简介:${desc}\n观看:${view} | 弹幕:${danmaku} | 评论:${reply}\n喜欢:${like} | 投币:${coin} | 收藏:${favorite} | 分享:${share}\n日期:${time}",
|
||||
"bilibili.message.error.rejected": "发生错误:由于触发哔哩哔哩安全风控策略,此次访问请求已被拒绝,请稍后重试。\n如果错误持续存在,请联系开发者解决问题。",
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"bilibili.help.option.i": "取得詳細資訊。",
|
||||
"bilibili.help.regex.av": "傳送 AV 號取得影片資訊。",
|
||||
"bilibili.help.regex.bv": "傳送 BV 號取得影片資訊。",
|
||||
"bilibili.help.regex.url": "傳送 URL 取得影片資訊。",
|
||||
"bilibili.help.regex.url": "傳送短 URL 取得影片資訊。",
|
||||
"bilibili.message": "標題:${title}\n類型:${tname}\nUP主:${owner}\n日期:${time}",
|
||||
"bilibili.message.detail": "標題:${title}${pages} | 類型:${tname}\nUP 主:${owner} | 追隨者:${fans}\n簡介:${desc}\n觀看:${view} | 彈幕:${danmaku} | 留言:${reply}\n喜歡:${like} | 投幣:${coin} | 收藏:${favorite} | 分享:${share}\n日期:${time}",
|
||||
"bilibili.message.error.rejected": "發生錯誤:由於觸發嗶哩嗶哩安全風控策略,此次訪問請求已被拒絕,請稍後重試。\n如果錯誤持續存在,請聯絡開發人員解決問題。",
|
||||
|
|
|
@ -36,22 +36,4 @@ async def regex_bugtracker(msg: Bot.MessageSession):
|
|||
if screenshot:
|
||||
await msg.finish(Image(screenshot))
|
||||
else:
|
||||
await msg.finish()
|
||||
|
||||
|
||||
@bug.regex(re.compile(r'https?://bugs\.mojang\.com/(?:browse/((?:BDS|MCPE|MCD|MCL|MCLG|REALMS|MC|WEB)-\d+)'
|
||||
r'|projects/.*?/issues/((?:BDS|MCPE|MCD|MCL|MCLG|REALMS|MC|WEB)-\d+))', flags=re.I),
|
||||
mode='A', desc='{bugtracker.help.regex.url}')
|
||||
async def _(msg: Bot.MessageSession):
|
||||
msg_list = []
|
||||
for title in msg.matched_msg:
|
||||
if title != '':
|
||||
get_ = await bugtracker_get(msg, title[0], nolink=True)
|
||||
msg_list.append(get_)
|
||||
await msg.send_message([q[0] for q in msg_list])
|
||||
if len(msg_list) == 1:
|
||||
screenshot = await make_screenshot(msg_list[0][1])
|
||||
if screenshot:
|
||||
await msg.finish(Image(screenshot))
|
||||
else:
|
||||
await msg.finish()
|
||||
await msg.finish()
|
|
@ -54,7 +54,7 @@ async def make_screenshot(page_link, use_local=True):
|
|||
return False
|
||||
|
||||
|
||||
async def bugtracker_get(session, mojira_id: str, nolink=False):
|
||||
async def bugtracker_get(session, mojira_id: str):
|
||||
data = {}
|
||||
id_ = mojira_id.upper()
|
||||
try:
|
||||
|
@ -146,7 +146,7 @@ async def bugtracker_get(session, mojira_id: str, nolink=False):
|
|||
msglist.append("Fixed Version: " + fixversion)
|
||||
if version := data.get("version", False):
|
||||
msglist.append(version)
|
||||
if (link := data.get("link", False)) and not nolink:
|
||||
if (link := data.get("link", False)):
|
||||
msglist.append(str(Url(link)))
|
||||
issue_link = link
|
||||
msg = '\n'.join(msglist)
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
"bugtracker.help": "Query the corresponding ticket on Mojira.",
|
||||
"bugtracker.help.regex.desc": "Directly send the Mojira ticket ID to query info.",
|
||||
"bugtracker.help.regex.url": "Send the Mojira URL to query info.",
|
||||
"bugtracker.help.regex.desc": "Send the Mojira ticket ID to query info.",
|
||||
"bugtracker.message.get_failed": "Failed to get info. The ticket may not exist or set to private."
|
||||
}
|
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
"bugtracker.help": "查询 Mojira 上的漏洞编号内容。",
|
||||
"bugtracker.help.regex.desc": "直接发送 Mojira 的漏洞编号以查询漏洞内容。",
|
||||
"bugtracker.help.regex.url": "发送 Mojira 的 URL 以查询漏洞内容。",
|
||||
"bugtracker.help.regex.desc": "发送 Mojira 的漏洞编号以查询漏洞内容。",
|
||||
"bugtracker.message.get_failed": "获取内容失败,漏洞可能不存在或被设置为隐私。"
|
||||
}
|
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
"bugtracker.help": "查詢 Mojira 上的錯誤編號內容。",
|
||||
"bugtracker.help.regex.desc": "直接傳送 Mojira 的漏洞編號以查詢漏洞內容。",
|
||||
"bugtracker.help.regex.url": "傳送 Mojira 的 URL 以查詢漏洞內容。",
|
||||
"bugtracker.help.regex.desc": "傳送 Mojira 的漏洞編號以查詢漏洞內容。",
|
||||
"bugtracker.message.get_failed": "取得內容失敗,錯誤可能不存在或被設定為隱私。"
|
||||
}
|
Reference in a new issue