Discord.py 语音机器人 youtube_dl 无效错误
Discord.py voice bot youtube_dl invalidate error
正在使用 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 中的命令后,歌曲将播放,但一段时间后如果 link 是 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 link 过期了。
感谢您的帮助!
您可以添加 '-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()
正在使用 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 中的命令后,歌曲将播放,但一段时间后如果 link 是 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 link 过期了。 感谢您的帮助!
您可以添加 '-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()