Музыкальный дискорд бот на пайтоне играет минуту а потом выключается

Играет музыку минуту а потом выключается и выходит, ошибок никаких не выдает.

Вот мой код:

import discord
from discord.ext import commands
from youtube_dl import YoutubeDL
from config import TOKEN, ydl_opts, ffmpeg_opts
from requests import get
import time

client = commands.Bot(command_prefix="=")

music_list = []
CTX = None

@client.event
async def on_ready():
    print('bot ready')
    print('-----------------------------------------------------------')

@client.command()
async def p(ctx, *, arg: str):

    global url, duration, title
    global CTX
    CTX = ctx

    if arg.startswith('https://www.youtube.com/'):
        url = arg

        with YoutubeDL(ydl_opts) as ydl:
            info = ydl.extract_info(url, download=False)

        URL = info['formats'][0]['url']
    else:
        with YoutubeDL(ydl_opts) as ydl:
            try:
                get(arg)
            except:
                video = ydl.extract_info(f"ytsearch:{arg}", download=False)['entries'][0]
            else:
                video = ydl.extract_info(arg, download=False)

        title = video['title']
        URL = video['url']
        duration = video['duration']


    user_channel = str(ctx.message.author.voice.channel)
    if not user_channel:
        return

    print('-----------------------------------------------------------')
    print(user_channel)
    print(ctx.message.author)
    print(URL)
    print(title)
    print(f'Длительность: {duration}сек')
    print('-----------------------------------------------------------')


    voice_channel = discord.utils.get(ctx.guild.voice_channels, name=user_channel)
    voice = discord.utils.get(client.voice_clients, guild=ctx.guild)

    if voice and voice != voice_channel:
        print('Уже подключен')
    else:
        await voice_channel.connect()

    voice = discord.utils.get(client.voice_clients, guild=ctx.guild)

    #await ctx.send(f"**Сейчас играет:** \n>>> ```{title}``` ")

    #voice.play(discord.FFmpegPCMAudio(executable="ffmpeg.exe", source=URL, **ffmpeg_opts))

    trek = {
        'title': title,
        'url': URL,
        'duration': duration,
    }

    music_list.append(trek)


@client.command()
async def pl(ctx):
    while True:
        if music_list:
            trek_now = music_list[0]

            voice = discord.utils.get(client.voice_clients, guild=ctx.guild)

            voice.play(discord.FFmpegPCMAudio(executable="ffmpeg.exe", source=trek_now['url'], **ffmpeg_opts))

            await ctx.send(f"**Сейчас играет:** \n>>> ```{trek_now['title']}``` ")

            time.sleep(trek_now['duration'])

            music_list.pop(0)
        if not music_list:
            break

Ответы (0 шт):