@clayyy

Пишу тг бота, бот собирает информацию от пользователя [username и скриншот о успешном платеже] как сделать чтобы бот присылал скрин(фото)?

Бот за место скриншота присылает -
spoiler
641b31b9e9ea3661585366.jpeg

Просто слово (photo)
сам код:
@bt.message_handler(content_types=['text', 'photo'])
def oplata_user(message):

    if message.text == 'Оплатил ✅':

        bt.send_message(message.from_user.id, text='Предоставьте скрин об оплате')
        bt.register_next_step_handler(message, proverka)


def proverka(message):

    if message.content_type == 'photo':


             
        ID_SIS_admin = 1226771412
        USERNAME_to_user = message.chat.username
        send_me_username_to_user = []
        send_me_username_to_user.append(USERNAME_to_user)

        bt.send_message(ID_SIS_admin, f"ПРОВЕРКА ПЛАТЕЖА: от {message.from_user.first_name}\n\n"
                                      f"USER NAME: {send_me_username_to_user}\n"
                                      f"СКРИНШОТ ПЛАТЕЖА: {message.content_type }")

        send_me_username_to_user.clear()

        bt.send_message(message.from_user.id, 'Отлично, начинаем проверку платежа...')
    else:
        bt.send_message(message.from_user.id, 'Данное сообщение не содержит фото, отправьте скриншот вашего платежа!')
  • Вопрос задан
  • 330 просмотров
Решения вопроса 1
@PavelMerk
Fullstack Web Dev
Чтобы отправить фото по URL: bot.send_photo (chat_id=chat_id, photo=‘https://telegram.org/img/t_logo.png’)
Чтобы отправить фото с локального диска: bot.send_photo (chat_id=chat_id, photo=open (‘tests/test.png’, ‘rb’))
Чтобы отправить фото по file_id, если оно уже загружено на серверы Telegram: bot.send_photo (chat_id=chat_id, photo=file_id)
В вашем коде вы используете message.content_type для отправки фото администратору. Это не правильно, потому что message.content_type просто возвращает тип сообщения (‘text’, ‘photo’ и т.д.). Вам нужно использовать message.photo[-1].file_id для получения file_id последнего фото в сообщении и передать его в bot.send_photo.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы