Ошибка в кде бота телеграмм для python

Использую модуль telebot написал следующий код

import telebot

bot = telebot.TeleBot('тут токен')

keyboard1 = telebot.types.ReplyKeyboardMarkup(True, True)
keyboard1.row('текст1')

keyboard2 = telebot.types.ReplyKeyboardMarkup(True, True)
keyboard2.row('текст2', 'текст2', ' текст 2', ' текст2 ', ' текст2 ')

keyboard3 = telebot.types.ReplyKeyboardMarkup(True, True)
keyboard3.row(' текст3 ', ' текст3 ', ' текст3 ', ' текст 3')

@bot.message_handler(commands=['start'])
def start_message(message):
    bot.send_message(message.chat.id, ' текст0.1 ', reply_markup=keyboard1)

@bot.message_handler(content_types=['text'])
def send_text(message):
    bot.send_message(message.chat.id, ' текст0.2 ', reply_markup=keyboard2)

@bot.message_handler(content_types=['text'])
def send_text(message):
    bot.send_message(message.chat.id, ' текст0.3 ', reply_markup=keyboard3)

bot.polling()

При его запуске бот доходил до "текс0.2" выдавал нужные кнопки, но при их нажатии код начинает цикл и выдаёт "тект0.2" вновь, с прикреплёнными к нему кнопками. Подскажите пожалуйста.


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

Автор решения: SKIP

Две функции с одинаковым именем не могут адекватно существовать. Если я не ошибаюсь вы хотели сделать так:

@bot.message_handler(content_types=['text'])
def send_text(message):
    if message.text in ('текст2', 'текст2', ' текст 2', ' текст2 ', ' текст2 '):
        bot.send_message(message.chat.id, ' текст0.3 ', reply_markup=keyboard3)
    else:
        bot.send_message(message.chat.id, ' текст0.2 ', reply_markup=keyboard2)
→ Ссылка