бот, написанный на 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'])