Cluster · разработчикам

Keyboard

Упорядоченные строки кнопок: не более 16 строк и 8 кнопок в каждой. Ключи кнопок уникальны.

Все методы SDK · Типы и ошибки

Получение объекта

keyboard = app.inline.keyboard()

__init__

Создаёт Keyboard. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.

def __init__(rows: list[list[Button | dict[str, JSON]]] | None = None) -> None: ...

Аргументы

Результат

None. Создаёт Keyboard. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

# Обычный способ получения объекта:
keyboard = app.inline.keyboard()

button

Принимает Button либо создаёт его из словаря описания.

def button(value: Button | dict[str, JSON]) -> Button: ...

Аргументы

Результат

Button. Принимает Button либо создаёт его из словаря описания.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

result = keyboard.button(app.inline.button("Open"))

__iter__

Перебирает кнопки построчно слева направо.

def __iter__() -> Iterator[Button]: ...

Аргументы

Нет.

Результат

Iterator[Button]. Перебирает кнопки построчно слева направо.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

values = list(keyboard)

__len__

Возвращает общее число кнопок.

def __len__() -> int: ...

Аргументы

Нет.

Результат

int. Возвращает общее число кнопок.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

count = len(keyboard)

__getitem__

Возвращает сам объект кнопки по постоянному key.

def __getitem__(key: str) -> Button: ...

Аргументы

Результат

Button. Возвращает сам объект кнопки по постоянному key.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

value = keyboard["open"]

row

Добавляет новую строку кнопок.

def row(*buttons: Button | dict[str, JSON]) -> Self: ...

Аргументы

Результат

Self. Тот же объект после успешной операции. Добавляет новую строку кнопок.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

result = keyboard.row(app.inline.button("Open", key="open"))

add

Вставляет кнопки в строку и позицию. Без row использует последнюю строку либо первую в пустой клавиатуре.

def add(*buttons: Button | dict[str, JSON], row: int | None = None, index: int | None = None) -> Self: ...

Аргументы

Результат

Self. Тот же объект после успешной операции. Вставляет кнопки в строку и позицию. Без row использует последнюю строку либо первую в пустой клавиатуре.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

result = keyboard.add(app.inline.button("Open", key="open"))

remove

Удаляет кнопку по key, убирает пустые строки и возвращает отсоединённую кнопку.

def remove(key: str) -> Button: ...

Аргументы

Результат

Button. Удаляет кнопку по key, убирает пустые строки и возвращает отсоединённую кнопку.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

result = keyboard.remove("open")

move

Перемещает кнопку между существующими строками, проверяя вместимость и позицию.

def move(key: str, row: int, index: int = 0) -> Self: ...

Аргументы

Результат

Self. Тот же объект после успешной операции. Перемещает кнопку между существующими строками, проверяя вместимость и позицию.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

result = keyboard.move("open", 0)

sort

Сортирует кнопки по key либо по подписи без учёта регистра. per_row ограничивает сортировку каждой строкой; иначе сохраняются прежние ширины строк.

def sort(key: Callable | None = None, reverse: bool = False, per_row: bool = False) -> Self: ...

Аргументы

Результат

Self. Тот же объект после успешной операции. Сортирует кнопки по key либо по подписи без учёта регистра. per_row ограничивает сортировку каждой строкой; иначе сохраняются прежние ширины строк.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

result = keyboard.sort()

layout

Заново распределяет кнопки по заданным ширинам строк. Последняя ширина повторяется для остатка.

def layout(*widths: int) -> Self: ...

Аргументы

Результат

Self. Тот же объект после успешной операции. Заново распределяет кнопки по заданным ширинам строк. Последняя ширина повторяется для остатка.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

result = keyboard.layout(2)

clear

Удаляет все строки и отсоединяет кнопки.

def clear() -> Self: ...

Аргументы

Нет.

Результат

Self. Тот же объект после успешной операции. Удаляет все строки и отсоединяет кнопки.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

result = keyboard.clear()

render

Собирает описание всех кнопок, ожидая асинхронные подписи; форму ещё не отправляет.

async def render(form: Form | None = None) -> list[list[dict[str, JSON]]]: ...

Аргументы

Результат

list[list[dict[str, JSON]]]. Собирает описание всех кнопок, ожидая асинхронные подписи; форму ещё не отправляет.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

result = await keyboard.render()