fix: youtu.be links transform format

This commit is contained in:
草师傅 2025-09-12 21:07:35 +08:00
parent bbffcbdbc5
commit d8ff654c28

View file

@ -222,6 +222,10 @@ def transform_into_fixed_url(url):
return urlunparse(parsed_url._replace(netloc='www.douyin.com'))
if parsed_url.hostname in ['youtu.be','m.youtube.com']:
# 把 youtu.be 和 m.youtube.com 的链接转换为 www.youtube.com
if parsed_url.hostname == 'youtu.be':
# youtu.be 的链接需要把 path 的 / 替换为 v 参数
video_id = parsed_url.path.lstrip('/')
return urlunparse(parsed_url._replace(netloc='www.youtube.com', path='/watch', query=urlencode({'v': video_id})))
return urlunparse(parsed_url._replace(netloc='www.youtube.com'))
return url
@ -290,7 +294,8 @@ async def handle_links(message: Message):
# 回复处理后的链接
if final_urls:
await message.reply(
f"<blockquote expandable>{"\n\n".join(final_urls)}\n</blockquote>\n消息里有包含跟踪参数的链接,已经帮你转换了哦~\n\n"
f"<blockquote expandable>{"\n\n".join(final_urls)}\n</blockquote>\n消息里有需要被处理的链接,"
f"已经帮你处理了哦~\n\n"
f"注意:这个功能是试验性的,可能会出现问题。"
f"\n如果你找到了问题,欢迎"
f"把它通过 <code>/report_broken_links 链接 需要去除的参数等等</code> 报告给开发者!")