Context
Context создаётся автоматически при каждом вызове process_update и передаётся в обработчик. Содержит данные из апдейта и методы для ответа.
Атрибуты данных
Заголовок раздела «Атрибуты данных»| Атрибут | Тип | Описание |
|---|---|---|
ctx.bot | Bot | Экземпляр бота |
ctx.update | dict | Сырой апдейт от Telegram |
ctx.env | Any | Объект env Cloudflare Workers |
ctx.request | Any | ExecutionContext запроса |
ctx.chat_id | int | None | ID чата |
ctx.message_id | int | None | ID сообщения |
ctx.from_user | dict | None | Информация об отправителе |
ctx.text | str | Текст сообщения (пустая строка если нет) |
ctx.command | str | None | Команда (например, "/start") |
Callback
Заголовок раздела «Callback»| Атрибут | Тип | Описание |
|---|---|---|
ctx.callback_query | dict | None | Объект callback query |
ctx.callback_data | str | None | Данные из кнопки |
| Атрибут | Тип | Описание |
|---|---|---|
ctx.photo | list | None | Список PhotoSize (от маленького к большому) |
ctx.video | dict | None | Объект видео |
ctx.voice | dict | None | Голосовое сообщение |
ctx.audio | dict | None | Аудиофайл |
ctx.sticker | dict | None | Стикер |
ctx.animation | dict | None | Анимация (GIF/MP4) |
ctx.document | dict | None | Документ |
Чеклисты
Заголовок раздела «Чеклисты»| Атрибут | Тип | Описание |
|---|---|---|
ctx.checklist | dict | None | Объект чеклиста |
ctx.checklist_tasks_done | dict | None | Информация о выполненных задачах |
Реестры (properties)
Заголовок раздела «Реестры (properties)»| Свойство | Тип | Описание |
|---|---|---|
ctx.users | UserRegistry | Реестр пользователей |
ctx.keyboards | KeyboardRegistry | Реестр клавиатур |
ctx.prompts | PromptRegistry | Реестр промптов |
Методы ответа
Заголовок раздела «Методы ответа»ctx.send(text, …)
Заголовок раздела «ctx.send(text, …)»Отправляет новое сообщение в чат (без reply).
await ctx.send( text: str, reply_markup: dict | None = None, parse_mode: str | None = None,) -> dictctx.reply(text, …)
Заголовок раздела «ctx.reply(text, …)»Отвечает с цитированием текущего сообщения.
await ctx.reply( text: str, reply_markup: dict | None = None, parse_mode: str | None = None,) -> dictctx.edit_message(text, …)
Заголовок раздела «ctx.edit_message(text, …)»Редактирует текущее сообщение. Обычно используется в callback handler’ах.
await ctx.edit_message( text: str, reply_markup: dict | None = None, parse_mode: str | None = None,) -> dictctx.answer_callback(text, show_alert)
Заголовок раздела «ctx.answer_callback(text, show_alert)»Отвечает на callback query (убирает «часики» на кнопке).
await ctx.answer_callback( text: str | None = None, show_alert: bool = False,) -> dict| Параметр | Описание |
|---|---|
text | Текст уведомления (toast или alert) |
show_alert | True — модальное окно, False — toast |
Методы отправки медиа
Заголовок раздела «Методы отправки медиа»Все методы принимают file_id или URL. Возвращают ответ Telegram API.
ctx.send_photo
Заголовок раздела «ctx.send_photo»await ctx.send_photo( photo: str, caption: str | None = None, reply_markup: dict | None = None, parse_mode: str | None = None,) -> dictctx.send_video
Заголовок раздела «ctx.send_video»await ctx.send_video( video: str, caption: str | None = None, reply_markup: dict | None = None, parse_mode: str | None = None,) -> dictctx.send_voice
Заголовок раздела «ctx.send_voice»await ctx.send_voice( voice: str, caption: str | None = None, reply_markup: dict | None = None, parse_mode: str | None = None,) -> dictctx.send_audio
Заголовок раздела «ctx.send_audio»await ctx.send_audio( audio: str, caption: str | None = None, reply_markup: dict | None = None, parse_mode: str | None = None, title: str | None = None, performer: str | None = None,) -> dictctx.send_sticker
Заголовок раздела «ctx.send_sticker»await ctx.send_sticker( sticker: str, reply_markup: dict | None = None,) -> dictctx.send_animation
Заголовок раздела «ctx.send_animation»await ctx.send_animation( animation: str, caption: str | None = None, reply_markup: dict | None = None, parse_mode: str | None = None,) -> dictctx.send_document
Заголовок раздела «ctx.send_document»await ctx.send_document( document: str, caption: str | None = None, reply_markup: dict | None = None, parse_mode: str | None = None,) -> dict