В учебной группе снова спрашивают, где лежат материалы. Ответ уже есть в общей инструкции, и организатор каждый раз пересылает один и тот же пункт. Для первого Telegram-бота такая задача удобна: известны вход, источник ответа и результат. Начните с одного повторяющегося действия, запишите обычный и ошибочный случаи, а затем решайте, нужен ли бот.

В этой статье подготовим проект поведения: по команде /help бот должен выдавать пункт инструкции, по неизвестной команде — подсказывать доступные команды. Получится карточка сценария для дальнейшей реализации. Создание аккаунта бота и запуск программы — отдельные шаги; одна карточка их не выполняет.

Сравните задачи по данным и проверяемому результату

Возьмём три вымышленных запроса. До выбора инструмента ответьте на вопросы: что получит человек, откуда возьмётся ответ и как проверить его правильность?

Вариант Есть ли основание для ответа Решение для первого сценария
Выдать пункт открытой инструкции Утверждённый текст; ответ можно сверить дословно Выбираем одну команду и один пункт
Гарантировать, что резюме принесёт работу Основания для гарантии нет Такой результат не обещаем и сценарий не берём
Разобрать личные документы, которые организатор не вправе передавать внешнему сервису Допустимого входа для выбранного способа нет Этот вариант исключаем; документы в пример не передаём

Первый вариант не требует сочинять ответ. Если задача сводится к выдаче утверждённого текста, её можно реализовать без генеративной модели. ИИ понадобится только там, где есть отдельная задача обработки, допустимые данные и способ проверить результат.

Сравните выбранный вариант с обычным закреплённым сообщением. Если человек легко находит инструкцию и вопросы не повторяются, отдельный бот может не понадобиться. Зафиксируйте, какое затруднение он должен устранить, прежде чем расширять сценарий.

Запишите источник и точный ответ

Для упражнения используем короткую инструкцию вымышленного кружка:

Материалы занятия находятся в закреплённом сообщении учебной группы.

Это весь учебный исходник. В собственной задаче возьмите разрешённый опубликованный пункт, сохраните его адрес и дату версии. Не добавляйте в ответ время занятия, обещание записи или условия доступа, если этих сведений в инструкции нет.

В официальной документации Telegram команда описана как слово с начальным знаком /. В разделе основных команд /help предназначена для справки о возможностях бота и доступных действиях. Поэтому к пункту инструкции добавим одну короткую подсказку:

Материалы занятия находятся в закреплённом сообщении учебной группы.
Я показываю этот пункт инструкции. Доступная команда: /help.

Ожидаемый ответ написан редакцией. Это не сообщение работающего бота. Команда /help сама по себе не создаёт обработчик: текст и правила ответа нужно реализовать в программе.

Опишите две ветви и начало диалога

Сценарий должен отвечать и человеку, который ошибся при вводе. В нашем учебном проекте меню означает текстовую подсказку со списком команд. Кнопки и настройка меню Telegram сюда не входят.

Учебная схема: команда help ведёт к пункту инструкции, другой ввод — к списку доступных команд

Схема выбранного поведения. Иллюстрация создана с помощью ИИ; это не скриншот Telegram.

Вход Действие, которое нужно реализовать Ожидаемый ответ
/help Взять сохранённый пункт без изменений Пункт инструкции и подсказка о /help из примера выше
/start Объяснить назначение и предложить первый шаг «Я показываю, где найти материалы занятия. Отправьте /help»
/news или обычный текст Не угадывать новое действие; показать доступный маршрут «Для этой задачи доступна команда /help. Отправьте её, чтобы увидеть инструкцию»

В документации Telegram /start начинает взаимодействие, а полученные команды могут не входить в список поддерживаемых. Отсюда требование к будущей программе: распознавать допустимый ввод и явно обрабатывать остальные сообщения. Telegram не напишет эти ответы за разработчика.

Проверьте проект на бумаге

Пройдите три строки таблицы по очереди. После /help человек должен понять, где искать материалы; ответ должен совпасть с учебным пунктом. После неизвестного ввода человек должен увидеть следующее допустимое действие. После /start назначение бота должно быть понятно без объяснения организатора.

Попросите другого человека прочитать только ответы. Если он не понимает, куда идти или какую команду отправить, исправьте конкретную строку. Это проверка понятности проекта; работу реального обработчика она не подтверждает.

Сохраните карточку для дальнейшей реализации:

Задача: выдать один утверждённый пункт о месте хранения материалов.
Источник: разрешённая инструкция, адрес и дата её версии.
Начало: /start объясняет назначение и предлагает /help.
Основной вход: /help.
Ответ: точный пункт источника и короткая подсказка о команде.
Остальной ввод: подсказка с доступной командой /help.
Критерий готовности реализации: три случая таблицы дают нужные ответы
в работающем боте; ответ /help совпадает с выбранной версией источника.
Статус сейчас: проект сценария, бот ещё не запущен.

Когда изменится инструкция, нужно обновить источник ответа. Запишите, кто отвечает за такую правку, чтобы бот не раздавал устаревший пункт. Для небольшого проекта это может быть тот же организатор.

Продолжите от сценария к реализации

Если задача действительно повторяется, карточка даст понятное задание тому, кто будет собирать бота. Если сначала нужно точнее описать результат, используйте пример постановки задачи для ИИ.

В практике создания ботов клуба «Первопроходцы» можно продолжить путь от задания к работающему проекту. Работа с ботами относится к позднему этапу программы, уроки открываются постепенно. Участники могут задавать вопросы и получать ручную проверку проектных работ; готового бота за участника это не обещает. Первый шаг уже доступен: выбрать один пункт инструкции и заполнить карточку сценария.