расположение кнопок с помощью PyTelegramBotAPI

Делаю бота для telegram и ни как не могу найти? как с помощью PyTelegramBotAPI можно было расположить кнопки, например, в таком порядке: одна кнопка на верхнем ряду, три на втором и две на третьем.

Делаю на PyTelegramBotAPI так как этот модуль поддерживает хост pythonanywhere.


Ответы (2 шт):

Автор решения: D. Violet
@bot.message_handler(commands=['start'])
def start(message):
    keyboard = types.InlineKeyboardMarkup()
    one_k = types.InlineKeyboardButton(text='one', callback_data='one_k')
    two_k = types.InlineKeyboardButton(text='two', callback_data='two_k')
    three_k = types.InlineKeyboardButton(text='three', callback_data='three_k')
    four_k = types.InlineKeyboardButton(text='four', callback_data='four_k')
    five_k = types.InlineKeyboardButton(text='five', callback_data='five_k')
    six_k = types.InlineKeyboardButton(text='six', callback_data='six_k')
    keyboard.add(one_k)
    keyboard.add(two_k, three_k, four_k)
    keyboard.add(five_k, six_k)
    bot.send_message(message.chat.id, 'button', reply_markup=keyboard)

введите сюда описание изображения

→ Ссылка
Автор решения: torrua

Если ты используешь Python ≥ 3.7, то создавать клавиатуры для PyTelegramBotAPI проще с библиотекой Keyboa:

from keyboa import Keyboa

items = [["one"], ["two", "three", "four"], ["five", "six"]]
kb = Keyboa(items).keyboard
bot.send_message(chat_id=0987654321), text="text", reply_markup=kb)

→ Ссылка