Button и InlineKeyboard¶
Button¶
Базовый класс кнопки inline-клавиатуры.
Для каждого типа кнопки есть свой подкласс, наследующий Button:
| Класс | Поля (помимо type, text) |
|---|---|
CallbackButton |
payload: str \| None — данные callback |
LinkButton |
url: str — ссылка (до 2048 символов) |
RequestContactButton |
— |
RequestGeoLocationButton |
quick: bool \| None — отправка без подтверждения |
OpenAppButton |
web_app: str \| None, contact_id: int \| None, payload: str \| None |
MessageButton |
— |
ClipboardButton |
payload: str — текст для копирования |
Пример¶
from maxgram.types import CallbackButton, LinkButton, ClipboardButton
# Callback-кнопка
btn = CallbackButton(text="Click", payload="data:1")
# Кнопка-ссылка
btn = LinkButton(text="Open", url="https://max.ru")
# Копирование в буфер
btn = ClipboardButton(text="Copy code", payload="PROMO123")
InlineKeyboard¶
Модель inline-клавиатуры.
Поле buttons — двумерный список: внешний список — ряды, внутренний — кнопки в ряду.
Пример¶
from maxgram.types import InlineKeyboard, CallbackButton, LinkButton
keyboard = InlineKeyboard(buttons=[
[
CallbackButton(text="A", payload="a"),
CallbackButton(text="B", payload="b"),
],
[
LinkButton(text="Сайт", url="https://max.ru"),
],
])
Исходные файлы¶
maxgram/types/button.pymaxgram/types/inline_keyboard.py