Не срабатывает callback у inline keyboard в telegram боте. В чем может быть причина?
Замените:update.message.reply_text('Please choose:', reply_markup=reply_markup)
На:bot.send_message(update.message.chat.id,'Please choose:', reply_markup=reply_markup)
И если вы хотите, чтобы отвечало, замените функцию button на:def button(bot, update):
    query = update.callback_query

    # query.edit_message_text(text="Selected option: {}".format(query.data))

    print(query)

    bot.send_message(query.message.chat_id, str(query.data))
А ловить сообщения то кто хэндлерами будет?
Только у тебя updater а не хэндлер, но суть не меняется@bot.callback_query_handler(func=lambda c: c.data == 'callback')#Ловим коллбэк от кнопки. Нам передается объект CallbackQuery который содержит поле data и message. Сейчас нам нужно из даты достать наше слово которое мы передали в атрибуте callback_data
def callback_answer(callback_query: types.CallbackQuery): #И отвечаем на него
    bot.answer_callback_query(
            callback_query.id,
            text='Hello! This callback.',
            show_alert=True
            )