# Промпт для разработки Telegram-бота: состояния, данные и тесты

> Промпт для Telegram-бота должен описывать пользовательский путь и состояния, а не только список кнопок. Укажите входы, переходы, хранимые данные, внешние действия, дедупликацию updates, ручной fallback и критерии production smoke. Токен хранится server-side и никогда не вставляется в клиентский код, URL задачи или лог.

Как поставить задачу на Telegram-бота: пользовательский путь, команды, состояния, webhook, дедупликация, секреты, ошибки и production smoke.

- Формат: статья
- Темы: Effort, Промпт, Telegram-бот, Разработка
- Автор: Редакция Нейроквалификатора
- Опубликовано: 2026-09-06
- Обновлено: 2026-09-06
- Время чтения: 3 мин.
- Редакционная проверка: Текст сверён с рабочим кабинетом, границами коробочного продукта и указанными первичными источниками

## Редакционные иллюстрации

[Карта Telegram-бота связывает меню, состояния, webhook, базу, оплату и поддержку](<https://xn--80aaelradiehqoisk4a4a.xn--p1ai/article-assets/wave-5/prompt-dlya-razrabotki-telegram-bota.webp>) - Бот становится системой состояний и внешних контрактов, а не набором несвязанных кнопок.

## 1. Нарисуйте путь пользователя

Начните с /start, выбора продукта или задачи, основного действия, ошибки, возврата в меню и поддержки. Для каждого шага назовите видимое сообщение и следующую кнопку.

Если deep-link меняет контекст, укажите payload и безопасное поведение при неизвестном значении.

## 2. Опишите состояния и переходы

Пользователь всегда находится в понятном состоянии: menu, viewing_product, awaiting_support или checkout. Событие обрабатывается только там, где оно допустимо.

Не создавайте скрытую «последнюю цель менеджера», если ответ должен быть reply на конкретное уведомление.

## 3. Защитите обработку Telegram updates

Выберите webhook или getUpdates, задайте проверку endpoint и dedupe по update_id. Повторный update не должен повторно отправлять сообщение, создавать заказ или заявку.

Внешний эффект фиксируется вместе с idempotency key и результатом. Timeout не всегда означает, что провайдер ничего не сделал.

## 4. Перечислите данные и границы

Укажите, какие profile-поля сохраняются, как они нормализуются, сколько хранится история и кто видит raw идентификаторы. Не создавайте вторую клиентскую базу для нового меню.

Токены, merchant secret и database URL находятся только в server-side env с ограниченным доступом.

## 5. Отделите оплату и поддержку

Return URL не подтверждает оплату, а callback провайдера является авторитетным событием. Кнопка поддержки создаёт отдельное обращение и не должна случайно запускать checkout.

Если AI gateway недоступен, нужен безопасный ручной путь без повторной отправки одного вопроса.

## 6. Запишите тесты до реализации

Проверьте happy path, неизвестную команду, duplicate update, timeout внешнего API, restart, неверный deep-link и отсутствие токена. Для базы используйте настоящий PostgreSQL там, где он является production-контрактом.

Browser preview проверяет текст и кнопки, но не заменяет Bot API integration.

- меню возвращается из каждого конечного шага;
- duplicate не создаёт второй эффект;
- секреты отсутствуют в логах;
- состояние сохраняется после restart.

## Каркас промпта

«Разработай Telegram-бота для [задача]. Путь: [шаги]. Состояния: [список]. Переиспользуй [runtime/DB]. Обрабатывай updates через [режим], dedupe по update_id. Секреты только server-side. Не меняй [соседний scope]. Тесты: [сценарии], restart и безопасный production smoke без реального списания».

Effort помогает собрать постановку, но BotFather, сервер и реальные разрешения остаются отдельными действиями владельца.

## Экран продукта

**Настоящий экран Effort.** Effort помогает сделать контекст, ограничения и критерии результата явными до передачи задачи ИИ.

[Настоящий экран Effort с исходной мыслью и структурированной постановкой задачи](<https://xn--80aaelradiehqoisk4a4a.xn--p1ai/article-assets/product-screens/effort-translator.png>)

## Источники

- [Telegram Bot API](<https://core.telegram.org/bots/api>) — Telegram; проверено 2026-09-06. Сверены официальные способы получения обновлений, отправки сообщений и идентификации reply-контекста.
- [Codex documentation](<https://developers.openai.com/codex/>) — OpenAI Developers; проверено 2026-09-06. Сверены рабочий цикл Codex, роль инструкций проекта, локальных проверок и ограниченной области изменений.
- [LLM06:2025 Excessive Agency](<https://genai.owasp.org/llmrisk/llm062025-excessive-agency/>) — OWASP GenAI Security Project; проверено 2026-09-06. Сверены принципы минимальных полномочий, ограниченных функций и подтверждения значимых действий человеком.
- [Effort Translator: рабочий интерфейс](<https://effort.xn--80aaelradiehqoisk4a4a.xn--p1ai/>) — Нейроквалификатор; проверено 2026-09-06. Сверена граница продукта: перевод исходной мысли в структурированную постановку без подмены цели и без гарантии результата.

## Сделайте постановку задачи проверяемой

Effort помогает структурировать исходную мысль. Он не заменяет модель, не знает скрытый контекст и не гарантирует качество результата.

[Подготовить запрос в Effort](<https://effort.xn--80aaelradiehqoisk4a4a.xn--p1ai/>)

## Связанный материал

[Как создать ИИ-бота для Telegram](<https://xn--80aaelradiehqoisk4a4a.xn--p1ai/articles/kak-sozdat-ii-bota-dlya-telegram/index.md>) — Сопоставьте постановку задачи с полным техническим маршрутом.

### Версии и навигация

- [Каноническая HTML-версия](<https://xn--80aaelradiehqoisk4a4a.xn--p1ai/articles/prompt-dlya-razrabotki-telegram-bota/>)
- [Карта сайта для ИИ-инструментов](<https://xn--80aaelradiehqoisk4a4a.xn--p1ai/llms.txt>)
- [Каталог статей и видео](<https://xn--80aaelradiehqoisk4a4a.xn--p1ai/articles/>)
