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

Как удалить клавиатуру Telegram?

При сообщение от пользователя "/start", создается клавиатура, клавиши которой - названия фильмов. Однако при повторном сообщении "/start" к существующей клавиатуре добавляется ещё одна такая же, в следствие чего дублируются названия фильмов.
Как возможно удалять старую клавиатуру и создавать новую, чтобы избежать дублирования названий?

def films_button(set_of_films, keyboard_markup):          # КЛАВИШИ ДЛЯ КЛАВИАТУРЫ

    for film in set_of_films:
        keyboard_markup.add(types.KeyboardButton(str(film).strip("()'',")))

    return keyboard_markup

markup = types.ReplyKeyboardMarkup(row_width=2, one_time_keyboard=False, resize_keyboard=True)

@bot.message_handler(commands=['start', 'help'])
def get_text_messages(message):
    bot.send_message(message.from_user.id,
                     "Перед вами список фильмов на сегодня. Выберите фильм, "
                     "расписание которого вы хотели бы увидеть: ",
                     reply_markup=films_button(films_set, markup))
  • Вопрос задан
  • 1196 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
@Herr_Konrad Автор вопроса
Добавил переменную markup в тело функции:
@bot.message_handler(commands=['start', 'help'])
def get_text_messages(message):
    markup = types.ReplyKeyboardMarkup(row_width=2, one_time_keyboard=False, resize_keyboard=True)
    bot.send_message(message.from_user.id,
                     "Перед вами список фильмов на сегодня. Выберите фильм, "
                     "расписание которого вы хотели бы увидеть: ",
                     reply_markup=films_button(films_set, markup))
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

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

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