我正在制作一个播放音乐的python discord机器人。问题是有时它会给我一个错误,机器人会跳过这首歌(如果队列中没有更多的歌曲,它会与语音通道断开连接)。 这就是我所有的音乐代码:
@client.command(pass_context=True)
async def uneix(ctx):
channel=ctx.message.author.voice.voice_channel
await client.join_voice_channel(channel)
await client.say("Afegit amb èxit! :white_check_mark:")
@client.command(pass_context=True)
async def para(ctx):
server=ctx.message.server
voice_client=client.voice_client_in(server)
await voice_client.disconnect()
await client.say("Desconectat amb èxit! :white_check_mark:")
@client.command(pass_context=True)
async def cançó(ctx, url):
server = ctx.message.server
channel=ctx.message.author.voice.voice_channel
await client.join_voice_channel(channel)
player = await client.voice_client_in(server).create_ytdl_player(url, after = lambda: check_queue(server.id))
players[server.id] = player
player.start()
await client.say("**Buscant cançó...**")
await client.say("**Reproduïnt cançó! :robot:**")
@client.command(pass_context=True)
async def pausa(ctx):
id = ctx.message.server.id
players[id].pause()
await client.say("**Pausant cançó... :robot:**")
@client.command(pass_context=True)
async def seguent(ctx):
id = ctx.message.server.id
players[id].stop()
await client.say("**Seguent cançó... :robot:**")
@client.command(pass_context=True)
async def resumeix(ctx):
id = ctx.message.server.id
players[id].resume()
await client.say("**Resumint cançó... :robot:**")
@client.command(pass_context=True)
async def lista(ctx, url):
server = ctx.message.server
voice_client = client.voice_client_in(server)
player = await voice_client.create_ytdl_player(url, after = lambda: check_queue(server.id))
if server.id in queues:
queues[server.id].append(player)
else:
queues[server.id] = [player]
await client.say("**Vídeo afegit a la llista** :white_check_mark: :robot: ")
这就是问题所在: Photo
我搜索了一些解决方案,但是它们没有用,所有帮助将不胜感激。
PD:我正在使用异步。