Телеграм бот не реагирует на кнопки c типом CallBack

Телеграм бот не реагирует на кнопки с типом CallBack. Команда /start работает. Ошибок при запуске бота и нажатии на кнопку не выдаёт. Бот является моим тестом так что альтернативное решение через content_types=['text'] для меня не подходит

 import telebot
 from telebot import types
 bot = telebot.TeleBot('token');

 @bot.message_handler(commands=['start'])
 def start(message):
      markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
      btn1 = types.InlineKeyboardButton(text = "Да", callback_data = 'yes')
      btn2 = types.InlineKeyboardButton(text = "Нет", callback_data = 'no')
      markup.add(btn1, btn2)
      bot.send_message(message.chat.id, text="Привет, {0.first_name}! Входим?".format(message.from_user), reply_markup=markup)
            
 @bot.callback_query_handler(func=lambda callback:True)
 def callBackOne(callback):
      if callback.data == 'yes':
            bot.send_message(call.chat.id, text="Вы успешно вошли")
            
      if callback.data == 'no':
            ifno = types.ReplyKeyboardMarkup(resize_keyboard=True)
            buttonStart = types.InlineKeyboardButton("/start")
            ifno.add(buttonStart)
            bot.send_message(call.chat.id, text="Ждём вас снова!", reply_markup = ifno)
 bot.polling(none_stop=True)

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

Автор решения: Amgarak
  1. Надо создавать InlineKeyboardMarkup, обычная клавиатура отправляет текст(сообщения), а не callback
  2. Вместо call.chat.id нужно использовать callback.message.chat.id
  3. Как пример: добавил обработку для callback - start
import telebot
from telebot import types
bot = telebot.TeleBot('TOKEN');

@bot.message_handler(commands=['start'])
def start(message):
    markup = types.InlineKeyboardMarkup()
    btn1 = types.InlineKeyboardButton(text="Да", callback_data='yes')
    btn2 = types.InlineKeyboardButton(text="Нет", callback_data='no')
    markup.row(btn1, btn2)
    bot.send_message(message.chat.id, text="Привет, {0.first_name}! Входим?".format(message.from_user), reply_markup=markup)
            
@bot.callback_query_handler(func=lambda callback: True)
def callBackOne(callback):
    if callback.data == 'yes':
        bot.send_message(callback.message.chat.id, text="Вы успешно вошли")
            
    elif callback.data == 'no':
        markup = types.InlineKeyboardMarkup()
        buttonStart = types.InlineKeyboardButton(text="/start", callback_data='start')
        markup.row(buttonStart)
        bot.send_message(callback.message.chat.id, text="Ждём вас снова!", reply_markup=markup)
    
    elif callback.data == 'start':
        start(callback.message)
    
bot.polling(none_stop=True)
→ Ссылка