Задать вопрос
Ответы пользователя по тегу Боты
  • Как получить фото в aiogram и отправить пользователю нужное ему фото?

    @GofMan33333
    Чтобы получить фото в aiogram, вам нужно использовать метод Message.photo у сообщения, которое пришло от пользователя. Он вернет список фотографий, которые были отправлены сообщением. Каждая фотография - это объект PhotoSize. Вот пример кода, который получает фото из сообщения:

    @dp.message_handler(content_types=ContentType.PHOTO)
    async def process_photo(message: types.Message):
        # Получаем список фотографий в сообщении
        photos = message.photo
    
        # Перебираем фотографии и обрабатываем их
        for photo in photos:
            # Скачиваем фотографию
            await photo.download()
            # Обрабатываем фотографию (например, сохраняем ее в базу данных)
            process_photo(photo.file)

    Чтобы отправить фото пользователю, вы можете использовать метод bot.send_photo. Он принимает идентификатор чата (куда отправлять фото) и фотографию (в виде InputFile или str)
    Ответ написан
    Комментировать
  • Не работает код aiogram3?

    @GofMan33333
    Чтобы принять данные, которые присылает Телеграм на яндекс клауд функцию через вебхук, вам нужно сделать следующее:

    Убедитесь, что у вас уже настроен вебхук для бота в Телеграме. Для этого вызовите метод setWebhook у бота с URL, который указывает на яндекс клауд функцию.

    В функции index.handler вам нужно извлечь данные из запроса (event), который приходит в яндекс клауд функцию. В частности, вам нужно извлечь тело запроса (event['body']) и декодировать его из JSON формата. Получившийся объект может быть преобразован в тип Update с помощью конструктора aiogram.types.Update.

    После того, как вы создадите экземпляр Update, вы можете обработать его с помощью Dispatcher. Для этого вызовите метод feed_update у объекта Dispatcher (dp).

    Наконец, не забудьте вернуть HTTP ответ
    Ответ написан
    1 комментарий