Cluster · разработчикам
Namespace
Динамические имена Bot API и TL-схемы. Все параметры сгенерированных методов передаются по имени.
Все методы SDK · Типы и ошибки
Получение объекта
fields = app.bot.api.describe("sendMessage")__init__
Создаёт Namespace. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.
def __init__(schema: dict[str, JSON], group: str | None, prefix: str = '', call: Callable | None = None, tl: bool = False) -> None: ...Аргументы
schema: dict[str, JSON], обязательный. Внутренняя схема methods/types. Обычно используется готовое пространство app.client.api или app.bot.api.group: str | None, обязательный. Группа обработчиков либо имя группового договора по выбранному методу.prefix: str, по умолчанию''. Префикс ключей, добавляется без автоматического разделителя.call: Callable | None, по умолчаниюNone. Низкоуровневый обработчик с именем метода и словарём аргументов. None собирает описание типа.tl: bool, по умолчаниюFalse. Логический переключатель указанного действия.
Результат
None. Создаёт Namespace. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
# Обычный способ получения объекта:
fields = app.bot.api.describe("sendMessage")__dir__
Возвращает доступные имена текущего пространства для dir().
def __dir__() -> list[str]: ...Аргументы
Нет.
Результат
list[str]. Возвращает доступные имена текущего пространства для dir().
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
result = app.bot.api.__dir__()__getattr__
Находит вложенное пространство, конструктор типа или вызываемый метод. Выполняется при обычном обращении через точку.
def __getattr__(name: str) -> Namespace | Callable: ...Аргументы
name: str, обязательный. Имя функции, сигнала либо поля в выбранном объекте.
Результат
Namespace | Callable. Находит вложенное пространство, конструктор типа или вызываемый метод. Выполняется при обычном обращении через точку.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
AttributeError(name): условие проверяется до продолжения операции.AttributeError('Unknown Telegram name: ' + key): условие проверяется до продолжения операции.
Пример
method = app.bot.api.sendMessagedescribe
Возвращает копию схемы параметров выбранного имени с required, а для Bot API также type и возможным constant.
def describe(name: str) -> dict[str, dict[str, JSON]]: ...Аргументы
name: str, обязательный. Имя функции, сигнала либо поля в выбранном объекте.
Результат
dict[str, dict[str, JSON]]. Возвращает копию схемы параметров выбранного имени с required, а для Bot API также type и возможным constant.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
fields = app.bot.api.describe("sendMessage")file
Создаёт ссылку $file на готовый файл Cluster для Bot API. В TL-пространстве этот помощник недоступен.
def file(id: str) -> dict[str, str]: ...Аргументы
id: str, обязательный. Идентификатор объекта, полученный при его создании. Не путь сервера.
Результат
dict[str, str]. Создаёт ссылку $file на готовый файл Cluster для Bot API. В TL-пространстве этот помощник недоступен.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
ValueError('A Cluster file ID is required'): условие проверяется до продолжения операции.
Пример
attachment = app.bot.types.file("file-id")