@weRifiCatoR
Начинающий программист

Discord.py Почему бот не воспроизводит длинную музыку с youtubе?

Вот код воспроизведения музыки с youtube! Проблема в том что короткие клипы с музыкой бот запускает отлично, но если сказать воспроизвести длинный клип, который идёт больше 10 минут, то бот просто скачивает его но не воспроизводит.
@client.command()
    async def play(ctx, url : str):
        global voice
        channel = ctx.message.author.voice.channel
        voice = get(client.voice_clients, guild = ctx.guild)

        if voice and voice.is_connected():
            await voice.move_to(channel)
        else:
            voice = await channel.connect()
            await ctx.send(f'Бот присоединился к каналу: {channel}')
        song_there = os.path.isfile('song.mp3')

        try:
            if song_there:
                os.remove('song.mp3')
                print('[log] Старый файл удалён')

        except PermissionError:
            print('[log] Не удалось удалить страый файл')

        await ctx.send('Пожалуйста ожидайте: 5 - 10 сек')

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

        ydl_opts = {
            'format' : 'bestaudio/best',
            'postprocessors' : [{
                'key' : 'FFmpegExtractAudio',
                'preferredcodec' : 'mp3',
                'preferredquality' : '192'
            }],
        }

        with youtube_dl.YoutubeDL(ydl_opts) as ydl:
            print('[log] Загружаю музыку')
            ydl.download([url])

        for file in os.listdir('./'):
            if file.endswith('.mp3'):
                name = file
                print(f'[log] Переменовываю файл: {file}')
                os.rename(file, 'song.mp3')

        voice.play(discord.FFmpegPCMAudio('song.mp3'), after = lambda e: print(f'[log] {name}, музыка закончила своё проигрывание'))
        voice.sourse.volume = 0.07

        song_name = name.rsplit('-', 2)
        await ctx.send(f'Сейчас проигрывает музыка: {song[0]}')
  • Вопрос задан
  • 836 просмотров
Решения вопроса 1
@Soneiko
Дело не в том что он их не воспроизводит, а скачивает долго. Советую для музыкального бота использовать Lavalink.jar
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы