@bybacapitan

Как отправить документ больше 50-ти мегабайт?

Так как боты имеют ограничение в отравке документов 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()


Подскажите как действовать далее.
  • Вопрос задан
  • 397 просмотров
Решения вопроса 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
В боте (aiogram) надо сделать сохранение куда-то списка текущих запросов (chat_id - запрос). Также сделать обработчик сообщений с content_type видео, который будет получать видео от юзербота, находить по нему в списке запросов chat_id, в который затем отсылать видео по file_id.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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