Так как боты имеют ограничение в отравке документов 50 мегабайт, я решил обойти его и сделать бота который может скачивать большие видео с ютуба. Для такой задачи я использую две библиотеки
pyrogram и
aiogram.
Изначально когда бот получает ссылку, он отправляет это ссылку в личные сообщения аккаунту на котором стоит юзербот, он улавливает эту ссылку скачивает и возвращает уже видео.
Я застрял на моменте когда нужно переслать или получить file_id видео и отправить заказчику.
Вот код основного бота
from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher
from aiogram.utils import executor
TOKEN = ''
bot = Bot(token=TOKEN)
dp = Dispatcher(bot)
@dp.message_handler(lambda message: message.text.startswith('https://www.youtube.com/'))
async def start(message:types.Message):
await bot.send_message(айди аккаунта на котором стоит юзербот, message.text)
if __name__ == "__main__":
executor.start_polling(dp, skip_updates=True)
А вот код юзер бота
import os
from pytube import YouTube
from pyrogram import Client, filters
api_id = ''
api_hash = ''
app = Client("my_account", api_id=api_id, api_hash=api_hash)
@app.on_message(filters.user(айди бота))
async def hello(client, message):
yt = YouTube(message.text)
yt.streams.filter().first().download('./name', f'{message.from_user.id}.mp4')
await app.send_video(message.chat.id, video=open(f'./name/{message.from_user.id}.mp4', 'rb'))
os.remove(f'./name/{message.from_user.id}.mp4')
app.run()
Подскажите как действовать далее.