Конструктор клавиатуры¶
Конструктор клавиатуры кпомагае динамично генерувати розмитку
Примечание
Заметьте, что если в вас является статична розмитка, лучше всего определить её явно, а не использовать конструктор, но если в вас является конфигурация динамичнои розмитки, смиливо используйте конструктор на свий розсуд.
Пример использования¶
For example you want to generate inline keyboard with 10 buttons
builder = InlineKeyboardBuilder()
for index in range(1, 11):
builder.button(text=f"Set {index}", callback_data=f"set:{index}")
then adjust this buttons to some grid, for example first line will have 3 buttons, the next lines will have 2 buttons
builder.adjust(3, 2)
also you can attach another builder to this one
another_builder = InlineKeyboardBuilder(...)... # Another builder with some buttons
builder.attach(another_builder)
or you can attach some already generated markup
markup = InlineKeyboardMarkup(inline_keyboard=[...]) # Some markup
builder.attach(InlineKeyboardBuilder.from_markup(markup))
and finally you can export this markup to use it in your message
await message.answer("Some text here", reply_markup=builder.as_markup())
Конструктор клавиатуры кпомагае динамично генерувати розмитку
Предупреждение
Note that you can’t attach reply keyboard builder to inline keyboard builder and vice versa
Клавиатура под повикмленням(Inline Keyboard)¶
- class litegram.utils.keyboard.InlineKeyboardBuilder(markup: list[list[InlineKeyboardButton]] | None = None)[исходный код]¶
Конструктор клавиатуры под повидомленням успадковуе все методы от универсального конструктора
- button(text: str, url: str | None = None, login_url: LoginUrl | None = None, callback_data: str | CallbackData | None = None, switch_inline_query: str | None = None, switch_inline_query_current_chat: str | None = None, callback_game: CallbackGame | None = None, pay: bool | None = None, **kwargs: Any) litegram.utils.keyboard.InlineKeyboardBuilder[исходный код]
Додавання новои кнопки к розмитки
- as_markup() litegram.types.inline_keyboard_markup.InlineKeyboardMarkup[исходный код]
Создания InlineKeyboardMarkup
- __init__(markup: list[list[InlineKeyboardButton]] | None = None) None[исходный код]¶
- add(*buttons: ButtonType) KeyboardBuilder[ButtonType]¶
Додавання одниеи или килькох кнопок к розмитки.
- Параметры:
buttons
- Результат:
- adjust(*sizes: int, repeat: bool = False) KeyboardBuilder[ButtonType]¶
Налаштування раньше кданных кнопок к певних розмирив рядкив.
За замовчуванням, когда сума переданных розмирив менша за килькисть кнопок, для хвоста розмитки будет використано останний переданный розмир. Если передано параметр repeat=True, уси розмири будут повторюватися, поки является доступни кнопки
- Параметры:
sizes
repeat
- Результат:
- property buttons: Generator[ButtonType]¶
Отримання плоского списку всех кнопок
- Результат:
- copy() InlineKeyboardBuilder[исходный код]¶
Делает повну копию текущего конструктора с разметкой
- Результат:
- export() list[list[ButtonType]]¶
Експортуе налаштовану розмитку как список спискив кнопок
>>> builder = KeyboardBuilder(button_type=InlineKeyboardButton) >>> ... # Add buttons to builder >>> markup = InlineKeyboardMarkup(inline_keyboard=builder.export())
- Результат:
- classmethod from_markup(markup: InlineKeyboardMarkup) InlineKeyboardBuilder[исходный код]¶
Create builder from existing markup
- Параметры:
markup
- Результат: