Как исправить ошибку 'name "message" is not defined'? Pytelegrambotapi

Как убрать ошибку name "message" is not defined.? Я понимаю, что проблема в том, что я не могу зарегистрировать введенный текст пользователем и перейти в другую функцию, но мне это нужно обязательно. Как можно это исправить? Вот кусочек кода, где ошибка:

def knopki2(message):            
     knop2 = types.InlineKeyboardMarkup()
     but1_2 = types.InlineKeyboardButton('2', callback_data = 'two')
     but2_2 = types.InlineKeyboardButton('3', callback_data='three')
     but2_3 = types.InlineKeyboardButton('4', callback_data='four')
     knop2.add(but1_2, but2_2, but2_3)
     input2 = bot.send_message(message.chat.id, text="Выбери кол-во декора и я подсчитаю материалы ?", reply_markup=knop2) 
     bot.register_next_step_handler(input2, lol2)


@bot.callback_query_handler(func=lambda call:True)                   
def lol2(call):
      if call.message:                                 
          if(call.data == "two"):
               podg = bot.send_message(message.chat.id, "Введи первое название мебели")
               bot.register_next_step_handler(podg, pod01)
              

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

Автор решения: Gawain
def lol2(call):
      if call.message:                                 
          if call.data == "two":
               podg = bot.send_message(message.chat.id, "Введи первое название мебели")
               bot.register_next_step_handler(podg, pod01)
              
          elif call.message.text == "/menu":
              menu(call.message)
          
          elif call.message.text == "/start":
              start(call.message)

Я думаю что это не очень удачная идея, обрабатывать все сообщения в одной функции. Почитайте про message_handler

→ Ссылка
Автор решения: oleksandrigo

UPD2. Вы неправильно использовали register_next_step_handler

def knopki2(message: types.Message):
    knop2 = types.InlineKeyboardMarkup()
    but1_2 = types.InlineKeyboardButton('2', callback_data='two')
    but2_2 = types.InlineKeyboardButton('3', callback_data='three')
    but2_3 = types.InlineKeyboardButton('4', callback_data='four')
    knop2.add(but1_2, but2_2, but2_3)
    bot.send_message(message.chat.id,
                     text="Выбери кол-во декора и я подсчитаю материалы ?",
                     reply_markup=knop2)
    # вообще не нужен
    # bot.register_next_step_handler(message, lol2)


@bot.callback_query_handler(func=lambda call: True)
def lol2(call: types.CallbackQuery):
    # бесполезное условие
    # if call.message:
    # не пихайте условие в скобки просто так 
    # if (call.data == "two"):
    if call.data == "two":
        bot.send_message(call.message.chat.id, "Введи первое название мебели")
        bot.register_next_step_handler(call.message, pod01)
→ Ссылка