diff --git a/bot.py b/bot.py index 7992776..81b3dd2 100644 --- a/bot.py +++ b/bot.py @@ -1,9 +1,10 @@ import os -from urllib.parse import urlparse, parse_qs +import re from contextlib import suppress +from urllib.parse import urlparse, parse_qs + import discord from discord.ext import commands -import re intents = discord.Intents.default() intents.members = True @@ -36,16 +37,21 @@ async def on_message(message): async def get_youtube_id(url: str, ignore_playlist=True) -> str: query = urlparse(url) - if query.hostname == 'youtu.be': return query.path[1:] + if query.hostname == 'youtu.be': + return query.path[1:] if query.hostname in {'www.youtube.com', 'youtube.com', 'music.youtube.com'}: if not ignore_playlist: # use case: get playlist id not current video in playlist with suppress(KeyError): return parse_qs(query.query)['list'][0] - if query.path == '/watch': return parse_qs(query.query)['v'][0] - if query.path[:7] == '/watch/': return query.path.split('/')[1] - if query.path[:7] == '/embed/': return query.path.split('/')[2] - if query.path[:3] == '/v/': return query.path.split('/')[2] + if query.path == '/watch': + return parse_qs(query.query)['v'][0] + if query.path[:7] == '/watch/': + return query.path.split('/')[1] + if query.path[:7] == '/embed/': + return query.path.split('/')[2] + if query.path[:3] == '/v/': + return query.path.split('/')[2] bot.run(DISCORD_TOKEN)