Как увеличить количество кнопок внутри текста?

Как можно улучшить код, чтобы при нажатии на кнопку "Кошелёк" отображалась новая инлайн-клавиатура с опциями "Пополнить", "Вывести" и "Комиссии и лимиты", а также кнопка "< Назад" для возврата на предыдущий экран?
  • 7 июня 2024 г. 17:11
Ответы на вопрос 1
Для увеличения количества кнопок внутри текста можно использовать инлайн-клавиатуру Telegram Bot API. В ней можно добавить до 30 кнопок.

Чтобы улучшить код и добавить функционал с новой инлайн-клавиатурой при нажатии на кнопку "Кошелёк", можно воспользоваться следующим примером кода:

```python
import telebot
from telebot import types

bot = telebot.TeleBot("YOUR_API_TOKEN")

@bot.message_handler(commands=['start'])
def start(message):
    markup = types.ReplyKeyboardMarkup(row_width=2)
    itembtn1 = types.KeyboardButton('Кошелёк')
    itembtn2 = types.KeyboardButton('Другие опции')
    markup.add(itembtn1, itembtn2)
    
    bot.send_message(message.chat.id, "Выберите действие:", reply_markup=markup)

@bot.message_handler(func=lambda message: True)
def handle_message(message):
    if message.text == 'Кошелёк':
        markup = types.InlineKeyboardMarkup()
        itembtn1 = types.InlineKeyboardButton('Пополнить', callback_data='topup')
        itembtn2 = types.InlineKeyboardButton('Вывести', callback_data='withdraw')
        itembtn3 = types.InlineKeyboardButton('Комиссии и лимиты', callback_data='fees_limits')
        markup.add(itembtn1, itembtn2, itembtn3)
        
        back_button = types.InlineKeyboardButton('< Назад', callback_data='back')
        markup.add(back_button)
        
        bot.send_message(message.chat.id, "Выберите действие:", reply_markup=markup)

bot.polling()
```

В данном коде, при нажатии на кнопку "Кошелёк", пользователю отобразится новая инлайн-клавиатура с опциями "Пополнить", "Вывести" и "Комиссии и лимиты", а также кнопка "< Назад" для возврата на предыдущий экран.
Похожие вопросы