Cluster · разработчикам
loader
Декораторы объявляют интерфейс класса Module. Само объявление не выдаёт прав ядра.
Все методы SDK · Типы и ошибки
Получение объекта
class Module:
@loader.command(description="Check connection")
async def ping(self, ctx: Event) -> None:
await ctx.edit("Pong")mark
Добавляет к функции описание обработчика. Низкоуровневый помощник; обычно используй конкретный декоратор.
def mark(func: Callable, group: str | None, data: dict[str, JSON]) -> Callable: ...Аргументы
func: Callable, обязательный. Объявляемая функция. thread принимает только синхронную функцию.group: str | None, обязательный. Группа обработчиков либо имя группового договора по выбранному методу.data: dict[str, JSON], обязательный. Описание обработчика, дополняющее id по имени функции.
Результат
Callable. Добавляет к функции описание обработчика. Низкоуровневый помощник; обычно используй конкретный декоратор.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
async def handler(ctx: Event) -> None:
pass
handler = loader.mark(handler, "handlers", {"source": "telegram", "event": "message", "access": "public"})command
Объявляет команду с алиасом, источником, уровнем доступа и описанием.
def command(alias: str | Callable | None = None, *, access: str = 'trusted', source: str | None = 'telegram', description: str | dict[str, str] | None = None, usage: str | dict[str, str] | None = None) -> Callable: ...Аргументы
alias: str | Callable | None, по умолчаниюNone. Имя команды без префикса; None использует имя метода. Callable поддерживает @loader.command без скобок.access: str, по умолчанию'trusted'. Уровень запуска: owner, trusted или public. Не заменяет права ядра.source: str | None, по умолчанию'telegram'. Источник telegram или bot; None наследует контекст у конструкторов сообщений.description: str | dict[str, str] | None, по умолчаниюNone. Описание команды либо её аргументов; поддерживает локализации.usage: str | dict[str, str] | None, по умолчаниюNone. Описание команды либо её аргументов; поддерживает локализации.
Результат
Callable. Объявляет команду с алиасом, источником, уровнем доступа и описанием.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
@loader.command("ping", description="Check connection")
async def ping(ctx: Event) -> None:
await ctx.edit("Pong")handler
Объявляет обработчик событий выбранного источника.
def handler(func: Callable | None = None, *, source: str | None = 'telegram', event: str = 'message', access: str = 'public') -> Callable: ...Аргументы
func: Callable | None, по умолчаниюNone. Объявляемая функция; при вызове декоратора со скобками передаётся Python автоматически.source: str | None, по умолчанию'telegram'. Источник telegram или bot; None наследует контекст у конструкторов сообщений.event: str, по умолчанию'message'. Тип события выбранного источника, например message.access: str, по умолчанию'public'. Уровень запуска: owner, trusted или public. Не заменяет права ядра.
Результат
Callable. Объявляет обработчик событий выбранного источника.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
@loader.handler()
async def handler(ctx: Event) -> None:
passcallback
Объявляет обработчик зарегистрированной кнопки и схему её аргументов.
def callback(func: Callable | None = None, *, fields: dict[str, JSON] | None = None, access: str = 'trusted', confirm: bool = False) -> Callable: ...Аргументы
func: Callable | None, по умолчаниюNone. Объявляемая функция; при вызове декоратора со скобками передаётся Python автоматически.fields: dict[str, JSON] | None, по умолчаниюNone. Схема полей обработчика. None означает отсутствие объявленных аргументов.access: str, по умолчанию'trusted'. Уровень запуска: owner, trusted или public. Не заменяет права ядра.confirm: bool, по умолчаниюFalse. Логический переключатель указанного действия.
Результат
Callable. Объявляет обработчик зарегистрированной кнопки и схему её аргументов.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
@loader.callback()
async def handler(ctx: Event) -> None:
passaction
Объявляет действие страницы модуля с проверкой аргументов и доступа.
def action(func: Callable | None = None, *, fields: dict[str, JSON] | None = None, access: str = 'trusted', confirm: bool = False) -> Callable: ...Аргументы
func: Callable | None, по умолчаниюNone. Объявляемая функция; при вызове декоратора со скобками передаётся Python автоматически.fields: dict[str, JSON] | None, по умолчаниюNone. Схема полей обработчика. None означает отсутствие объявленных аргументов.access: str, по умолчанию'trusted'. Уровень запуска: owner, trusted или public. Не заменяет права ядра.confirm: bool, по умолчаниюFalse. Логический переключатель указанного действия.
Результат
Callable. Объявляет действие страницы модуля с проверкой аргументов и доступа.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
@loader.action()
async def handler(ctx: Event) -> None:
passfunction
Объявляет функцию для вызова из другого модуля.
def function(func: Callable | None = None, *, fields: dict[str, JSON] | None = None) -> Callable: ...Аргументы
func: Callable | None, по умолчаниюNone. Объявляемая функция; при вызове декоратора со скобками передаётся Python автоматически.fields: dict[str, JSON] | None, по умолчаниюNone. Схема полей обработчика. None означает отсутствие объявленных аргументов.
Результат
Callable. Объявляет функцию для вызова из другого модуля.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
@loader.function()
async def handler(ctx: Event) -> None:
passsignal
Объявляет получатель сигнала другого модуля.
def signal(func: Callable | None = None, *, fields: dict[str, JSON] | None = None) -> Callable: ...Аргументы
func: Callable | None, по умолчаниюNone. Объявляемая функция; при вызове декоратора со скобками передаётся Python автоматически.fields: dict[str, JSON] | None, по умолчаниюNone. Схема полей обработчика. None означает отсутствие объявленных аргументов.
Результат
Callable. Объявляет получатель сигнала другого модуля.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
@loader.signal()
async def handler(ctx: Event) -> None:
passtask
Объявляет обработчик расписания.
def task(func: Callable | None = None, *, fields: dict[str, JSON] | None = None) -> Callable: ...Аргументы
func: Callable | None, по умолчаниюNone. Объявляемая функция; при вызове декоратора со скобками передаётся Python автоматически.fields: dict[str, JSON] | None, по умолчаниюNone. Схема полей обработчика. None означает отсутствие объявленных аргументов.
Результат
Callable. Объявляет обработчик расписания.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
@loader.task()
async def handler(ctx: Event) -> None:
passrequest
Объявляет обработчик входящих HTTP-запросов.
def request(func: Callable | None = None, *, fields: dict[str, JSON] | None = None) -> Callable: ...Аргументы
func: Callable | None, по умолчаниюNone. Объявляемая функция; при вызове декоратора со скобками передаётся Python автоматически.fields: dict[str, JSON] | None, по умолчаниюNone. Схема полей обработчика. None означает отсутствие объявленных аргументов.
Результат
Callable. Объявляет обработчик входящих HTTP-запросов.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
@loader.request()
async def handler(ctx: Event) -> None:
passinit
Объявляет обработчик запуска; меньший priority выполняется раньше.
def init(func: Callable | None = None, *, priority: int = 100) -> Callable: ...Аргументы
func: Callable | None, по умолчаниюNone. Объявляемая функция; при вызове декоратора со скобками передаётся Python автоматически.priority: int, по умолчанию100. Порядок запуска init; меньшие числа выполняются раньше.
Результат
Callable. Объявляет обработчик запуска; меньший priority выполняется раньше.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
@loader.init()
async def handler(ctx: Event) -> None:
passstop
Объявляет обработчик завершения модуля.
def stop(func: Callable) -> Callable: ...Аргументы
func: Callable, обязательный. Объявляемая функция. thread принимает только синхронную функцию.
Результат
Callable. Объявляет обработчик завершения модуля.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
@loader.stop
async def stop() -> None:
passthread
Преобразует синхронную функцию в асинхронную, выполняющуюся в asyncio.to_thread. Отмена ожидания не прерывает сам поток.
def thread(func: Callable) -> Callable: ...Аргументы
func: Callable, обязательный. Объявляемая функция. thread принимает только синхронную функцию.
Результат
Callable. Преобразует синхронную функцию в асинхронную, выполняющуюся в asyncio.to_thread. Отмена ожидания не прерывает сам поток.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
TypeError('Only a synchronous function can run in a thread'): условие проверяется до продолжения операции.
Пример
@loader.thread
def calculate(value: int) -> int:
return value * 2