Задать вопрос
@Almaz_khan

Как сделать так, что б после нажатия пользователя старая инлайн клавиатура удалялась, а новая начинала свою работу?

Как сделать так, что б после нажатия пользователя старая инлайн клавиатура убиралась либо становилась неактивной, а другая начинала свою работу и вылезала пользователю

import telebot
from secrets import secrets
from telebot import types
import random
from compliments import compliments

general = 0 #глобальная переменная для подсчета общего количества посетителей

token = secrets.get ('BOT.API.TOKEN') #подключение бота к коду
bot = telebot.TeleBot (token)

@bot.message_handler(commands=['start']) #Действия бота при команде старт
def start_message(message): #выбор роли человека
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
    start_button = types.KeyboardButton("Посетитель")
    action_button = types.KeyboardButton("Школьник")
    partners_button = types.KeyboardButton("Партнер")
    markup.add(start_button, action_button, partners_button)
    bot.send_message(message.chat.id, text = "Привет, {0.first_name} \nЯ помогу тебе с навигацией по предприятию \nВыбери кем ты являешься".format(message.from_user), reply_markup=markup)
@bot.message_handler(content_types=['text']) #ответы бота на разные ответы пользователя
def buttons(message):
    global general
    def place(): #функция запроса выбора места
        bot.send_message(message.chat.id, text="Хорошо, теперь выберите куда вы хотите попасть")
    def scheme(messages: types.Message): #функция выбора итогового места    
        markup = types.ReplyKeyboardRemove()
        markup = types.ReplyKeyboardMarkup (resize_keyboard=True)
        museum_button = types.KeyboardButton("Музей")
        warehouse_button = types.KeyboardButton("Склад")
        acceptance_button = types.KeyboardButton("Приемная")
        markup.add(museum_button, warehouse_button, acceptance_button)                
    if (message.text == "Посетитель"): 
        place()
        general = general +1
        scheme()
    elif (message.text == "Школьник"):
        place()
        general = general +1
        scheme()
    elif (message.text == "Партнер"):
        place()
        general = general +1
        scheme()
    else: 
        bot.send_message(message.chat.id, text = "Я могу отвечать только на нажатие кнопок")

bot.polling(non_stop=True,interval=0) #непрерывная работа бота
  • Вопрос задан
  • 42 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
Отредактировать сообщение с заменой клавиатуры:
msg = bot.send_message(chat_id=my_chat_id, text='Привет', reply_markup=первая_клавиатура)
bot.edit_message_text(chat_id=my_chat_id, message_id=msg.message_id, text='Привет ещё раз', reply_markup=вторая_клавиатура)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы