Например учитывать только callback, а не прямой текст:
import telebot
from telebot import types
bot = telebot.TeleBot(TOKEN)
@bot.message_handler(commands=['start'])
def start(message):
keyboard = types.InlineKeyboardMarkup()
key_buy = types.InlineKeyboardButton(text='Покупка', callback_data='/buy')
key_info = types.InlineKeyboardButton(text='Инфо', callback_data='/info')
keyboard.add(key_buy, key_info)
bot.send_message(message.chat.id, 'Команды:', reply_markup=keyboard)
@bot.message_handler(content_types=["text"])
def handle_text(message):
if message.text.startswith('/'):
bot.send_message(message.chat.id, 'Неправильная команда')
@bot.callback_query_handler(func = lambda call: True)
def calls(call):
if call.data == '/buy':
bot.send_message(call.message.chat.id, 'Обрабатываем покупку')
elif call.data == '/info':
bot.send_message(call.message.chat.id, 'Вот инфо')
bot.polling(none_stop=True)