#python #discord.py
Вопрос:
Я пытался сделать loop command
песню для цикла в списке очередей. Бот работает нормально, но после того, как я использую команду, он полностью пропускает список очередей и перестает играть
Здесь очередь и функция воспроизведения песни в списке очередей
queues = {} def check_queue(ctx, id): if queues[id] !={}: print(queues) #check queue voice = ctx.guild.voice_client source = queues[id].pop(0) qq[id].pop(0) voice.play(source, after=lambda x=0: check_queue(ctx, ctx.message.guild.id))
Я не мог найти лучшего способа сделать loop command
это, поэтому я сделал это, чтобы изменить 5 песен в списке очередей на песню, которую я хочу повторить, чтобы бот мог повторить 5 раз
@client.command(pass_context = True) async def loop(ctx): guild_id = ctx.message.guild.id source = queues[guild_id].pop(0) for n in range(1,5): queues[guild_id].append(source) qq[guild_id].append('') await ctx.send(queues)
внутри def check_queue
я должен print(queues)
распечатать очередь внутри консоли, и она по-прежнему печатает очередь правильно, но она не воспроизводит звук, а просто пропускает всю песню и, наконец, печатает error pop from empty list
, что бот действительно выводит песню, но почему-то не воспроизводит песню