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: ...

Аргументы

Результат

Callable. Добавляет к функции описание обработчика. Низкоуровневый помощник; обычно используй конкретный декоратор.

Права

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

Ошибки

Пример

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: ...

Аргументы

Результат

Callable. Объявляет команду с алиасом, источником, уровнем доступа и описанием.

Права

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

Ошибки

Пример

@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: ...

Аргументы

Результат

Callable. Объявляет обработчик событий выбранного источника.

Права

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

Ошибки

Пример

@loader.handler()
async def handler(ctx: Event) -> None:
    pass

callback

Объявляет обработчик зарегистрированной кнопки и схему её аргументов.

def callback(func: Callable | None = None, *, fields: dict[str, JSON] | None = None, access: str = 'trusted', confirm: bool = False) -> Callable: ...

Аргументы

Результат

Callable. Объявляет обработчик зарегистрированной кнопки и схему её аргументов.

Права

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

Ошибки

Пример

@loader.callback()
async def handler(ctx: Event) -> None:
    pass

action

Объявляет действие страницы модуля с проверкой аргументов и доступа.

def action(func: Callable | None = None, *, fields: dict[str, JSON] | None = None, access: str = 'trusted', confirm: bool = False) -> Callable: ...

Аргументы

Результат

Callable. Объявляет действие страницы модуля с проверкой аргументов и доступа.

Права

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

Ошибки

Пример

@loader.action()
async def handler(ctx: Event) -> None:
    pass

function

Объявляет функцию для вызова из другого модуля.

def function(func: Callable | None = None, *, fields: dict[str, JSON] | None = None) -> Callable: ...

Аргументы

Результат

Callable. Объявляет функцию для вызова из другого модуля.

Права

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

Ошибки

Пример

@loader.function()
async def handler(ctx: Event) -> None:
    pass

signal

Объявляет получатель сигнала другого модуля.

def signal(func: Callable | None = None, *, fields: dict[str, JSON] | None = None) -> Callable: ...

Аргументы

Результат

Callable. Объявляет получатель сигнала другого модуля.

Права

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

Ошибки

Пример

@loader.signal()
async def handler(ctx: Event) -> None:
    pass

task

Объявляет обработчик расписания.

def task(func: Callable | None = None, *, fields: dict[str, JSON] | None = None) -> Callable: ...

Аргументы

Результат

Callable. Объявляет обработчик расписания.

Права

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

Ошибки

Пример

@loader.task()
async def handler(ctx: Event) -> None:
    pass

request

Объявляет обработчик входящих HTTP-запросов.

def request(func: Callable | None = None, *, fields: dict[str, JSON] | None = None) -> Callable: ...

Аргументы

Результат

Callable. Объявляет обработчик входящих HTTP-запросов.

Права

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

Ошибки

Пример

@loader.request()
async def handler(ctx: Event) -> None:
    pass

init

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

def init(func: Callable | None = None, *, priority: int = 100) -> Callable: ...

Аргументы

Результат

Callable. Объявляет обработчик запуска; меньший priority выполняется раньше.

Права

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

Ошибки

Пример

@loader.init()
async def handler(ctx: Event) -> None:
    pass

stop

Объявляет обработчик завершения модуля.

def stop(func: Callable) -> Callable: ...

Аргументы

Результат

Callable. Объявляет обработчик завершения модуля.

Права

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

Ошибки

Пример

@loader.stop
async def stop() -> None:
    pass

thread

Преобразует синхронную функцию в асинхронную, выполняющуюся в asyncio.to_thread. Отмена ожидания не прерывает сам поток.

def thread(func: Callable) -> Callable: ...

Аргументы

Результат

Callable. Преобразует синхронную функцию в асинхронную, выполняющуюся в asyncio.to_thread. Отмена ожидания не прерывает сам поток.

Права

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

Ошибки

Пример

@loader.thread
def calculate(value: int) -> int:
    return value * 2