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

Event

Контекст команды, кнопки, задачи или другого обработчика. Поля зависят от источника события.

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

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

message = app.message(ctx)

__init__

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

def __init__(app: App, data: EventEnvelope) -> None: ...

Аргументы

Результат

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

Права

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

Ошибки

Пример

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

reply

Отвечает на сообщение через источник события. В приватном событии бота сохраняет адресата.

async def reply(text: str | Text, **kwargs: JSON) -> TelegramMessage: ...

Аргументы

Результат

TelegramMessage. Отвечает на сообщение через источник события. В приватном событии бота сохраняет адресата.

Права

Нужны telegram.send либо bot.send по source.

Ошибки

Пример

result = await ctx.reply("Ready", parse_mode="HTML")

edit

Редактирует исходное сообщение. Для callback обновляет сообщение формы; для Telegram и бота использует соответствующий метод.

async def edit(text: str | Text, **kwargs: JSON) -> JSON: ...

Аргументы

Результат

JSON. Редактирует исходное сообщение. Для callback обновляет сообщение формы; для Telegram и бота использует соответствующий метод.

Права

Нужны telegram.send либо bot.send; для callback нужен действующий контекст формы.

Ошибки

Пример

result = await ctx.edit("Ready", parse_mode="HTML")

answer

Отвечает на нажатие кнопки всплывающим уведомлением или alert и отмечает событие как отвеченное.

async def answer(text: str | Text = '', alert: bool = False) -> JSON: ...

Аргументы

Результат

JSON. Отвечает на нажатие кнопки всплывающим уведомлением или alert и отмечает событие как отвеченное.

Права

Контекст действующего callback; произвольный callback ID передать нельзя.

Ошибки

Пример

result = await ctx.answer()