Как решить AttributeError("'Message' object has no attribute 'message'")? tgbot py

Рейтинг: 0Ответов: 1Опубликовано: 18.07.2023

Пишу бота для Телеграмма, и столкнулся с ошибкой :

AttributeError("'Message' object has no attribute 'message'")

в команде:

@bot.message_handler(content_types=ContentType.SUCCESSFUL_PAYMENT)
def successful_payment(message: aiogram.types.Message):
    print("SUCCESSFUL PAYMENT:")
    payment_info = successful_payment.to_python()
    for k, v in payment_info.items():
        print(f"{k} = {v}")
    bot.send_message(message.successful_payment.chat.id, f"Платёж на сумму {successful_payment.total_amount // 100} {message.successful_payment.currency} прошел успешно!")

Не понимаю в чем проблема, так что прошу вас помочь.

Ответы

▲ 0

Скорее всего, Ваш код должен выглядеть вот так:

@bot.message_handler(content_types=ContentType.SUCCESSFUL_PAYMENT)
def successful_payment(message: aiogram.types.Message):
    print("SUCCESSFUL PAYMENT:")
    payment_info = message.successful_payment.to_python()
    # payment_info = successful_payment.to_python() - БЫЛО
    for k, v in payment_info.items():
        print(f"{k} = {v}")
    bot.send_message(message.chat.id, f"Платёж на сумму {message.successful_payment.total_amount // 100} {message.successful_payment.currency} прошел успешно!")