• Как сделать инлайн кнопки разного размера?

    @twistfire92
    Python backend developer
    Установить конкретный размер кнопки не получится, можно только выбрать количество кнопок в ряду. при создании разметки markup = types.InlineKeyboardMarkup() указывается необязательный параметр row_width - это количество кнопок в ряду по умолчанию. Т.е. если потом добавлять кнопки через markup.add(), кнопки сами будут выстраиваться в ряд в том количестве, в котором вы указали. Если же хотите вставить ряд кнопок с конкретным количеством элементов, используется метод row(), в котором передаются все кнопки, которые вы хотите поместить в этот ряд.

    Как должно выглядеть в вашем случаае:

    markup = types.InlineKeyboardMarkup()
    
    button1 = types.InlineKeyboardButton(text='Кнопка1', callback_data='button1')
    button2 = types.InlineKeyboardButton(text='Кнопка2', callback_data='button2')
    markup.row(button1, button2) # Заполнили первый ряд
    
    button3 = types.InlineKeyboardButton(text='Кнопка3', callback_data='button3')
    button4 = types.InlineKeyboardButton(text='Кнопка4', callback_data='button4')
    button5 = types.InlineKeyboardButton(text='Кнопка5', callback_data='button5')
    button6 = types.InlineKeyboardButton(text='Кнопка6', callback_data='button6')
    markup.row(button3, button4, button5, button6 ) # Заполнили второй ряд
    
    button7 = types.InlineKeyboardButton(text='Кнопка7', callback_data='button7')
    button8 = types.InlineKeyboardButton(text='Кнопка8', callback_data='button8')
    markup.row(button7, button8) # Заполнили третий ряд
    Ответ написан
    Комментировать