Как редактировать Reply клавиатуру или как выводить другую. Telegram бот на Python
Вторая клавиатура не выводится.
import telebot
bot = telebot.TeleBot('токен мой')
keyboard1 = telebot.types.ReplyKeyboardMarkup(True, True)
keyboard1.row('Информация')
keyboard2 = telebot.types.ReplyKeyboardMarkup(True, True)
keyboard2.row('1', '2', '3')
@bot.message_handler(commands=['start'])
def start_message(message):
bot.send_message(message.chat.id, 'Привет', reply_markup=keyboard1)
@bot.message_handler(content_types=['text'])
def send_text(message):
if message.text.lower() == 'Привет':
bot.edit_message_reply_markup(message.chat.id, message.message_id, 'Выбери:', reply_markup=keyboard2)
bot.polling()
Ответы (2 шт):
@bot.message_handler(commands=['text']) замени на @bot.message_handler(content_types=['text']) во втором случае
Поменял, но суть не меняет, клавиатура не добавляется.
ошибка в условии: message.text.lower() == 'Привет' не сработает, так как текст сообщения "Привет" переводится в "привет" благодаря lower(). Замени 'Привет' на 'привет', дабы условие срабатывало
message.text.lower() == 'Привет' не будет работать, потому что сравнивать, допустим message.text = привет с Привет как-то неправильно)
а так, ваш код нужно поправить до:
if message.text.lower() == 'привет':
bot.send_message(message.chat.id, 'ну Привет', reply_markup=keyboard2)
и кнопка "Информация" будет заменена на кнопки "1", "2", "3" после отправки боту "привет"
здесь в комментариях к ответу как раз пришли к выводу что обычные кнопки редактировать нельзя