当使用youtube_dl在discord.py bot上播放音乐时,获取错误代码1

时间:2019-09-22 12:47:25

标签: python discord.py youtube-dl

上下文:我正在尝试为我的disord.py机器人创建<p data-att1="30">1</p> <p data-att1="30">2</p> <p data-att3="30">3</p> <p data-att3="30">4</p> let dataAttr = "[data-att1], [data-att2], [data-att3]"; let dataMain = document.querySelectorAll(dataAttr); let p = "px"; const mainFn = () => { dataMain.forEach(function () { this.style.marginBottom = document.querySelector('[data-att1]').getAttribute('data-att1') + p; this.style.marginTop = document.querySelector('[data-att3]').getAttribute('data-att3') + p; }); }; 命令

问题:我无法播放音乐

代码:

;play <youtubeURL>

错误:使用标准的python IDE,我没有收到任何错误。但是,使用日志记录模块。我收到错误代码1:

ytdl_format_options = {
    'format': 'bestaudio/best',
    'outtmpl': '%(extractor)s-%(id)s-%(title)s.%(ext)s',
    'restrictfilenames': True,
    'noplaylist': True,
    'nocheckcertificate': True,
    'ignoreerrors': False,
    'logtostderr': False,
    'quiet': True,
    'no_warnings': True,
    'default_search': 'auto',
    'source_address': '0.0.0.0'
}

ytdl = youtube_dl.YoutubeDL(ytdl_format_options)

@client.command()
async def play(ctx, url):

    #I have code here that makes sure the bot is in the correct VC

    guild = ctx.message.guild
    voice_client = guild.voice_client

    song_info = ytdl.extract_info(url, download=False)
    filename = ytdl.prepare_filename(song_info)
    song = discord.FFmpegPCMAudio(filename)
    player = voice_client.play(song)

您能提供的任何帮助/解决方案将不胜感激。

2 个答案:

答案 0 :(得分:1)

您要使用的文件目前不存在,因为由于download=False中的extract_info参数而没有下载文件。

答案 1 :(得分:1)

我发现我的代码有问题。这是通过ffmpeg播放音乐的正确方法:

from itertools import chain
//...
seeds = [
    (host, port)
    for host, port in chain([client.primary], client.secondaries, client.arbiters)
]