【问题标题】:Discord.py voice bot youtube_dl invalidate errorDiscord.py 语音机器人 youtube_dl 无效错误
【发布时间】:2019-09-08 07:35:42
【问题描述】:

使用 youtube_dl 创建一个 python discord 语音机器人,并使用此代码执行播放命令:

@bot.command(pass_context=True, brief="This will play a song 'play [url]'", aliases=['pl'])
async def play(ctx, url:str):
    server = ctx.message.server
    voice_client = bot.voice_client_in(server)
    player = await voice_client.create_ytdl_player(url, after=lambda: check_queue(server.id))
    players[server.id] = player
    player.start()

在 discord 中运行命令后,歌曲将播放,但一段时间后,如果链接是 youtube 视频,歌曲将停止,我收到此错误:

[tls @ 000001b884817cc0] Error in the pull function.
[matroska,webm @ 000001b88417a180] Read error
[tls @ 000001b884817cc0] The specified session has been invalidated for some reason.
    Last message repeated 1 times

我做了一些研究,我认为这是因为 youtube 链接已过期。 感谢您的帮助!

【问题讨论】:

    标签: python discord.py youtube-dl


    【解决方案1】:

    您可以将'-reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5' 添加为before_options 的一部分。

    @bot.command(pass_context=True, brief="This will play a song 'play [url]'", aliases=['pl'])
    async def play(ctx, url:str):
        server = ctx.message.server
        voice_client = bot.voice_client_in(server)
        player = await voice_client.create_ytdl_player(url, after=lambda: check_queue(server.id), before_options='-reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5')
        players[server.id] = player
        player.start()
    

    【讨论】:

      猜你喜欢
      • 2020-08-31
      • 1970-01-01
      • 2018-06-16
      • 2020-12-30
      • 1970-01-01
      • 2019-04-08
      • 2021-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多