@AlekseiFlis

PyTelegramBotApi. Как реализовать функцию изменения callback клавиатуры после нажатия на кнопку?

Нужно написать функцию. Что бы при вводе в телеграм команды бот отправлял сообщение с callback клавиатурой и двумя кнопками. И при нажатии на них эта клавиатура изменялась. Как это сделать? Пробовал callback_data запихнуть функцию, которая изменяла бы первое сообщение, но так не сработало.
  • Вопрос задан
  • 4149 просмотров
Пригласить эксперта
Ответы на вопрос 1
Danya_Violet
@Danya_Violet
CTO/CIO
это отправит пользователю инлайн клавиатуру по команде /start
@bot.message_handler(commands=['start'])
def cmd_start(message):
    start_keyboard = types.InlineKeyboardMarkup()
    start_service = types.InlineKeyboardButton(text='Службы', callback_data='service')
    start_other = types.InlineKeyboardButton(text='Другое', callback_data='other')
    start_keyboard.add(start_service, start_other)
    bot.send_message(message.chat.id, 'принята команда /start', reply_markup=start_keyboard)


это изменит клавиатуру отправленную после /start если пользователь нажал на инлайн кнопку "Другое"
if call.data == 'other':
        service_keyboard = types.InlineKeyboardMarkup()
        service_comproxy_k = types.InlineKeyboardButton(text='Comproxy', callback_data='comproxy')
        service_back_k = types.InlineKeyboardButton(text='Назад', callback_data='back')
        service_keyboard.add(service_comproxy_k, service_back_k)
        bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text='Выберите:',
                              reply_markup=service_keyboard)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект