Задать вопрос
@ubuntuforlife

Ошибка Python Telebot: AttributeError: 'Message' object has no attribute 'data'. Did you mean: 'date'?

@bot.callback_query_handler(func=lambda call: True)
def add(call):
    global category, purpose
    #обработка нажатия на кнопку доход или расход
    if call.data == "button1_in":
        category = 'Доход'
        purpose = 'Заработная плата'
        bot.send_message(call.message.chat.id, "Укажите сумму:")
        bot.register_next_step_handler(call.message, add_amount)

def add_amount(message):
    amount = message.text.strip()
    user_id = message.from_user.id
    if is_number(amount):
        print(user_id, category, purpose, amount)
        bot.send_message(message.chat.id, f"{category} {amount} учтен в категории: {purpose}")
        db.add_db(user_id, category, purpose, amount)
    else:
        bot.send_message(message.chat.id, "Введено некорректное значение! Повторите попытку.")


Выдает следующую ошибку:
File "/home/nadir/PycharmProjects/MoneyGram/main.py", line 48, in add
    if call.data == "button1_in":
       ^^^^^^^^^
AttributeError: 'Message' object has no attribute 'data'. Did you mean: 'date'?


При этом функция add_amount успешно выполняется, потом возвращается к if call.data == "button1_in" и падает. Как исправить?
  • Вопрос задан
  • 37 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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