MicroProger
@MicroProger
Работает - не трогай

Бот дискорд проигрывает музыку не полностью. В чем проблема и как решить?

бот, написанный на Python, проигрывает музыку с youtube определенное кол-во времени.
Я решил записать время проигрывания. Запустив один и тот же трек два раза, он проиграл его 48 секунд оба раза. Сам трек длиной 2:28. Дальше, я решил запустить трек другой длиной (4:03), он его проиграл 2:14. Исходя из этих опытов, могу сделать вывод, что проблема либо в коде, либо в скорости моего интернета. Нужна помощь.
Вот код: (не обращайте внимания на лишние библиотеки, это не весь код:D)
import re
import urllib.request
import asyncio
from asyncio import sleep
import yt_dlp
import discord
from discord.ext import commands

YDL_OPTIONS = {'format': 'bestaudio', 'noplaylist':'False'}
config = {
    'token': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    'prefix': '!',
}

@bot.command()
async def play(ctx, arg):
    voice_channel = ctx.author.voice.channel
    if ctx.voice_client is None:
        await voice_channel.connect()

    if ctx.voice_client.is_playing():
        await ctx.send("something is currently playing...")
        return
    with yt_dlp.YoutubeDL(YDL_OPTIONS) as ydl:
        secret = arg
        info = ydl.extract_info(secret, download=False)
        url2 = info['url']
        print(url2)
        source = discord.FFmpegPCMAudio(url2)
        vc = ctx.voice_client
        vc.play(source)

bot.run(config['token'])
  • Вопрос задан
  • 51 просмотр
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы