Получение данных от пользователя и рассылка по id

Реализована команда рассылки текстовых сообщений по пользователям, которые занесены в базу данных (функц. sendall). Просьба подсказать, как реализовать отправку фото/видео файлов, которые также необходимо получать от пользователя.

message.photo[] - вопрос какие данные необходимо добавить в список, в документации указано, что необходимо внести параметры PhotoSize и вроде как string тип, заношу произвольное значение '500*500', выдает ошибку что должен быть тип целого числа. В общем запутался =(

upd.: Добавил функцию sendpic, но она не работает (каких-либо ошибок не выдает), но и фото при отправке боту в нужную директорию не загружает. В теории нужно сначала инициировать загрузку изображения, а после использовать последнее загруженное изображение (либо реализовать перезапись под одним именем)

import logging

from aiogram import Bot, Dispatcher, executor, types
# from aiogram.types import URLInputFile
from db import Database

logging.basicConfig(level=logging.INFO)

bot = Bot(token="***")
dp = Dispatcher(bot)
db = Database('database.db')


@dp.message_handler(commands=['start'])
async def start(message: types.Message):
    if message.chat.type == 'private':
        if not db.user_exists(message.from_user.id):
            db.add_user(message.from_user.id)
        await bot.send_message(message.from_user.id, "Добро пожаловать")
        await bot.send_message(message.from_user.id,
                               "Данный бот предназначен для подписки на рассылку полезной информации ****")


@dp.message_handler(commands=['sendall'])
async def sendall(message: types.Message):
    if message.chat.type == 'private':
        if message.from_user.id == 000:
            photo = message.photo[???]
            text = message.text[9:]
            users = db.get_users()
            for row in users:
                try:
                    await bot.send_video(message.from_user.id, open('files/marka.mp4', 'rb'))
                    await bot.send_message(row[0], photo)
                    await bot.send_message(row[0], text)
                    if int(row[1]) != 1:
                        db.set_active(row[0], 1)
                except:
                    db.set_active(row[0], 0)

            await bot.send_message(message.from_user.id, "Рассылка прошла успешно")

@dp.message_handler(commands=['sendpic'])
async def sendpic(message: types.Message):
    if message.chat.type == 'private':
        if message.from_user.id == 660923787:
            photo = message.photo[-1].download(destination="files/pics/")
            users = db.get_users()
            for row in users:
                try:
                    await bot.send_photo(message.from_user.id, photo)
                    if int(row[1]) != 1:
                        db.set_active(row[0], 1)
                except:
                    db.set_active(row[0], 0)

            await bot.send_message(message.from_user.id, "Фото отправлено")

if __name__ == "__main__":
    executor.start_polling(dp, skip_updates=True)

Ответы (0 шт):