Archived
1
0
Fork 0

Update regex

This commit is contained in:
多羅狼 2024-02-12 18:09:04 +08:00 committed by GitHub
parent 8fa8ff0aa7
commit 3825abe48e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 19 additions and 50 deletions

View file

@ -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):

View file

@ -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):

View file

@ -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.",

View file

@ -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如果错误持续存在请联系开发者解决问题。",

View file

@ -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如果錯誤持續存在請聯絡開發人員解決問題。",

View file

@ -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()

View file

@ -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)

View file

@ -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."
}

View file

@ -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": "获取内容失败,漏洞可能不存在或被设置为隐私。"
}

View file

@ -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": "取得內容失敗,錯誤可能不存在或被設定為隱私。"
}