Для обработки входящих сообщений в боте
pyTelegramBotAPI можно использовать обработчики (
handlers). Обработчики могут фильтровать входящие сообщения по типу (текстовое, аудио, фото и т.д.) и содержанию (текст, команда, регулярное выражение и т.д.). Также можно обрабатывать нажатия кнопок и другие действия пользователей.
Для фильтрации сообщений от скрипта по нажатым кнопкам можно использовать обработчик типа
CallbackQueryHandler
Например, если у вас есть кнопка "Начать", которая должна запускать определенное действие, то можно использовать следующий код
import telebot
from telebot import types
# Создание бота
bot = telebot.TeleBot('сюда токен вставить надо')
# Обрабьатываем кнопку "Начать"
@bot.message_handler(commands=['start'])
def start_message(message):
bot.send_message(message.chat.id, 'Привет! Я бот.')
@bot.callback_query_handler(func=lambda call: call.data == 'start_button')
def start_button_handler(call):
bot.send_message(call.message.chat.id, 'Вы нажали кнопку "Начать".')
#Обрабатываем текстовые сообщения
@bot.message_handler(content_types=['text'])
def text_message_handler(message):
if message.text == 'Кнопки':
keyboard = types.InlineKeyboardMarkup()
button_start = types.InlineKeyboardButton('Начать', callback_data='start_button')
keyboard.add(button_start)
# Отправка сообщения с клавиатурой
bot.send_message(message.chat.id, 'Выберите действие:', reply_markup=keyboard)
bot.polling()
А вообще советую использовать aiogram.