Я делал бота который скачивает видео с ютуба, есть маленкая проблема который не могу долгое время справится с загрузкой видео асинхронно. когда скачивает видео бот не может ответить на все запросы который которые поступает через телеграм. когда закончится загрузка видео из ютуба тогда фукциянурует все команды. если кто вкурсе можете помоч с проблемой?
Python:
from pyrogram import Client, filters
from pytube import YouTube
import subprocess
import os
import asyncio
async def download(url, client, message):
file = YouTube(url).streams.get_by_itag(18).download('down/')
pyt = YouTube(url)
video_input_path = file
img_output_path = (file + '.jpg')
subprocess.call(['ffmpeg', '-y', '-i', video_input_path, '-ss', '00:00:00.000', '-vframes', '1', img_output_path])
await message.reply("<b>Отправка телеграм...</b>\n")
await client.send_video(message.chat.id,
reply_to_message_id=message.message_id,
video=file,
thumb=img_output_path,
caption=f'{pyt.title}'
)
await message.delete()
os.remove(file)
os.remove(file + '.jpg')
@Client.on_message(filters.command(['ytdown', 'yt'], ["."]) & filters.me)
async def youdown(client, message):
url = ' '.join(message.command[1:])
await message.reply('<b>Загрузка видео...</b>\n')
await message.delete()
await asyncio.get_event_loop().create_task(download(url, client, message))