Задать вопрос
Qwentor
@Qwentor
Веб-программист

Как обновить кастомную клавиатуру в телеграм?

Есть бот на питоне, использую telebot (pyTelegramBotAPI).
При /start пользователю добавляется кастомная клавиатура с несколькими кнопками - ( telebot.types.ReplyKeyboardMarkup() ). Сейчас понадобилось добавить туда еще пару кнопок. Но у пользователя клавиатура обновляется только если он опять сделает /start, что он вряд ли будет делать.
Как сделать чтобы обновилась автоматически?
  • Вопрос задан
  • 1884 просмотра
Подписаться 3 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Хекслет
    Python-разработчик
    10 месяцев
    Далее
Решения вопроса 1
@SwitcherN
Начинаю изучать python
При отправке любого сообщения можно обновить клавиатуру.

bot = telebot.TeleBot(token)

keyboard = types.ReplyKeyboardMarkup()
bot.send_message(message.chat.id, 'Сообщение', reply_markup=keyboard)


Остается отправить всем пользователям сообщение с новой клавиатурой. Например, собрать все chat_id текущих пользователей в список users_list и:

@bot.message_handler(commands=["new_keyboard_for_all_users"])
def send_new_keyboard (message):
    keyboard = types.ReplyKeyboardMarkup() # Новая клавиатура
    for user in users_list:
        bot.send_message(user, 'Произвольное сообщение', reply_markup=keyboard)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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