Как сохранить фото от одного пользователя и отправить другому?
Очень прошу помочь. Я пишу бота, который должен отправлять пользователю фото, которое будет меняться каждый день админом, чей id будет указан в проверке. Пользователь должен получить фото, отправив текст 'Актуальное фото '. При отправке текста 'Актуальное фото ', бот ничего не высылает. Как нужно изменить код, чтобы все работало исправно? Заранее спасибо!
@dp.message_handler(content_types=['text', 'photo'])
async def main(message: types.Message):
if message.from_user.id == 111111111:
photo = message.photo[0].file_id
elif message.text == 'Актуальное фото ':
await bot.send_photo(message.chat.id, photo, message.caption)
Ответы (1 шт):
Автор решения: ZxNuClear
→ Ссылка
Вот это должно сработать. При отправке фотографии идет проверка на id, если он совпадает с id админа, то фотография сохраняется как image.jpg, в противном случае сообщение удаляется и выводится предупреждение.
@dp.message_handler(content_types='photo')
async def save_photo(message: types.Message):
if message.from_user.id == 1111111111:
await message.photo[-1].download(destination_file='image.jpg')
await message.answer('Готово! Фотография сохранена')
else:
await message.delete()
await message.answer('Вы кто такие? Я вас не звал!')
@dp.message_handler(content_types='text')
async def send_photo(message: types.Message):
if message.text == 'Актуальное фото':
photo = open('image.jpg', 'rb')
await bot.send_photo(chat_id=message.chat.id, photo=photo)
ну а дальше, отправляя в чат Актуальное фото бот будет присылать эту самую фотографию