NameError: name 'message' is not defined - принять сообщение от пользователя

всем привет , есть инлайновые кнопки, по нажатию на которую должно отправляться сообщение пользователю что бы он ввел число а после в ответ на это число последовала отправка другого сообщения с инлайн кнопкой

@bot.callback_query_handler(func=lambda call:True)
def keyboard_inline_call(call):
    elif call.data == 'button':
        bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id,text='Enter num')
        try:
            if int(call.message.text) < 2:
                bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text='❌')
            elif int(call.message.text) > 80:
                bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text='❌')
            else:
                k = telebot.types.InlineKeyboardMarkup()
                k.add(types.InlineKeyboardButton(text='Buy', callback_data='buy'))
                bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id,
                text='что то', reply_markup=k)
        except ValueError:
            bot.send_message(call.message.chat.id, 'Sorry: Error')

но выходит ошибка NameError: name 'message' is not defined

я понимаю что может быть проблема в колбек квери но я не знаю какой атрибут использовать в место message.text который используется в content_type (message)

UPD: исправил всё, но теперь бот отправляет сразу

Enter num
Sorry: Error

не давая ввести число


Ответы (1 шт):

Автор решения: DeNRuDi

А если вы посмотрите, какой параметр был передан функции keyboard_inline_call - сможете найти ошибку, и понять почему message не был найден?) Потому что и нет такой переменной в локальной области видимости этой функции.

@bot.callback_query_handler(func=lambda call:True)
def keyboard_inline_call(call):
    bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id,text='Send')
    try:
        if int(call.message.text) < 2:                             # ++
            bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text='❌')
        elif int(call.message.text) > 80:                          # ++
            bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text='❌')
    except ValueError:
        bot.send_message(call.message.chat.id, 'Вы ввели не число или ошибка')
→ Ссылка