Added youtube dl related code
This commit is contained in:
parent
5c3db0b034
commit
1cd1916feb
1 changed files with 37 additions and 0 deletions
37
main.py
37
main.py
|
|
@ -32,6 +32,43 @@ youtubeUrlRegex = "https?:\/\/(www\.)?(youtu|youtube)\.(com|be)"
|
||||||
def is_a_youtube_url(url: str):
|
def is_a_youtube_url(url: str):
|
||||||
return bool(re.match(youtubeUrlRegex, url))
|
return bool(re.match(youtubeUrlRegex, url))
|
||||||
|
|
||||||
|
youtube_dl.utils.bug_reports_message = lambda: ''
|
||||||
|
|
||||||
|
ytdl_format_options = {
|
||||||
|
'format': 'bestaudio/best',
|
||||||
|
'restrictfilenames': True,
|
||||||
|
'noplaylist': True,
|
||||||
|
'nocheckcertificate': True,
|
||||||
|
'ignoreerrors': False,
|
||||||
|
'logtostderr': False,
|
||||||
|
'quiet': True,
|
||||||
|
'no_warnings': True,
|
||||||
|
'default_search': 'auto',
|
||||||
|
'source_address': '0.0.0.0' # bind to ipv4 since ipv6 addresses cause issues sometimes
|
||||||
|
}
|
||||||
|
|
||||||
|
ffmpeg_options = {
|
||||||
|
'options': '-vn'
|
||||||
|
}
|
||||||
|
|
||||||
|
ytdl = youtube_dl.YoutubeDL(ytdl_format_options)
|
||||||
|
|
||||||
|
class YTDLSource(discord.PCMVolumeTransformer):
|
||||||
|
def __init__(self, source, *, data, volume=0.5):
|
||||||
|
super().__init__(source, volume)
|
||||||
|
self.data = data
|
||||||
|
self.title = data.get('title')
|
||||||
|
self.url = ""
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
async def from_url(cls, url, *, loop=None, stream=False):
|
||||||
|
loop = loop or asyncio.get_event_loop()
|
||||||
|
data = await loop.run_in_executor(None, lambda: ytdl.extract_info(url, download=not stream))
|
||||||
|
if 'entries' in data:
|
||||||
|
# take first item from a playlist
|
||||||
|
data = data['entries'][0]
|
||||||
|
filename = data['title'] if stream else ytdl.prepare_filename(data)
|
||||||
|
return filename
|
||||||
|
|
||||||
def random_playing_gif():
|
def random_playing_gif():
|
||||||
gifList = ["https://media.tenor.com/Ra6rkhDtYPwAAAAd/anime-dj.gif",
|
gifList = ["https://media.tenor.com/Ra6rkhDtYPwAAAAd/anime-dj.gif",
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue