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

Соберём его в n8n, конструкторе с соединёнными блоками действий. Бот получит сообщение, проверит команду и вернёт памятку либо подсказку. Отдельный файл программы писать не понадобится, хотя в нескольких полях будут короткие выражения n8n для подстановки текста и адреса чата. После проверки опубликуем схему, чтобы она отвечала без открытого режима тестирования.

Разбираться со всеми блоками заранее не нужно. Откройте рядом DeepSeek и вставьте в новый чат этот запрос; если уже пользуетесь ChatGPT или Claude, можно остаться в нём. Следующим сообщением передайте текст статьи.

Проведи меня по статье: хочу собрать в n8n Telegram-бота,
который по /repair выдаёт памятку о ремонте сумки.
Я впервые работаю с такими схемами. Сначала спроси,
есть ли у меня доступ к n8n и отдельный учебный бот.
Если доступа нет, объясни доступный по статье путь и его условия;
не начинай с установки сервера. Затем давай одно действие:
что открыть, какой блок добавить, куда вставить текст
и что должно появиться. Жди, пока я опишу результат.
Токен я вставлю сам только в поле подключения n8n, не проси
присылать его в чат. Если подписи у меня отличаются, уточни,
что я вижу. При ошибке помоги разобрать её без секретных данных.
После памятки проверь со мной запасной ответ и работу после Publish.

Помощник не видит ваш редактор и не соединяет блоки за вас. Напишите ему, например: «Открыл новую схему, вижу кнопку добавления шага». Это уже достаточно для следующей подсказки. Текст ошибки можно скопировать, убрав токен, адреса с секретами и личные сообщения.

Что подготовить, чтобы создать бота без программирования

Для первого опыта возьмите отдельного бота, который пока нигде не используется. У Telegram для него один адрес доставки событий, webhook, поэтому подключение к n8n меняет место, куда приходят сообщения. Уже работающего бота с другой программой лучше оставить в прежней схеме.

В официальном BotFather отправьте /newbot, задайте имя и свободный username с окончанием bot. Сохраните выданный токен, секретный ключ управления. Подробности регистрации разобраны в инструкции по BotFather. В n8n ключ вводится в отдельную запись подключения, credential, а в тексты ответов и общие документы его помещать нельзя. Подключение Telegram к n8n.

Для описанного пути подойдёт n8n Cloud, где среду обслуживает сам сервис. После регистрации откройте свою среду n8n. По справке на дату проверки у нового облачного аккаунта есть пробный период на 14 дней; дальнейшая постоянная работа требует подходящего платного плана. Условия доступны в справке о пробном периоде и на странице тарифов.

Если уже есть n8n на собственном сервере, Telegram должен обращаться к нему через доступный из интернета HTTPS-адрес. Ошибка про HTTPS означает, что сначала нужно настроить адрес webhook у администратора этой среды. Установка на домашний компьютер сама по себе такого адреса не даёт. Требования webhook.

Задайте команду и полезный ответ

Возьмём вымышленную ремонтную мастерскую. По команде /repair бот пришлёт памятку о сумке, которую собираются принести на починку. Другая фраза, команда /start или фотография получит короткую подсказку. Начнём с личного чата владельца, без группы и рассылки.

Готовый текст памятки сохраните для поля ответа:

Памятка перед ремонтом сумки

Принесите сумку целиком, оторванную ручку и сохранившиеся детали крепления.
Перед визитом освободите карманы и очистите место повреждения.
Если меняем длину ручки, возьмите сумку, с которой удобно ходить, для сравнения.
Новую пряжку подберём после осмотра, заранее покупать её не нужно.
Для кожи и ткани способы ремонта различаются, окончательный вариант обсудим в мастерской.

Запасной ответ будет таким:

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

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

Получите сообщение и номер своего чата

В боковом меню n8n нажмите кнопку создания ресурса и выберите Workflow, новую схему с именем «Памятка о ремонте». На пустом поле нажмите Add first step…, найдите Telegram Trigger и добавьте его. Через этот узел схема будет запускаться при событии в Telegram. Создание workflow.

В поле подключения Credential to connect with создайте Telegram credential, вставьте токен в Access Token и сохраните. В событиях выберите Message, получение нового сообщения. Позже эту же запись подключения используем для отправки ответа.

Пока оставьте на поле только Telegram Trigger. Запустите его тест через Test Trigger или Execute step. Затем откройте именно своего бота в Telegram, нажмите «Начать» и отправьте /repair. Во входных данных n8n раскройте message, затем chat и найдите id. Это номер чата, из которого пришло сообщение. Проверьте рядом chat.type со значением private и отправленный текст в message.text.

Остановите ожидание теста. В параметрах Telegram Trigger добавьте Restrict to Chat IDs и вставьте полученный id целиком. Так схема будет запускаться только от этого чата. Публичный username бота вместо номера здесь не подойдёт. События и ограничения Telegram Trigger.

Заново запустите тест и отправьте ещё одно /repair, чтобы получить свежие данные уже с ограничением. В дальнейших полях увидите сообщение и тот же номер чата. Пока бот молчит, потому что отправку ответа ещё предстоит добавить.

Разделите команду и остальные сообщения

После Telegram Trigger добавьте узел If и соедините их. В Conditions выберите тип String и сравнение is equal to, равно. Левое поле переключите в Expression и вставьте:

{{ $json.message.text ?? '' }}

В правом поле в режиме Fixed напишите /repair. Выражение слева берёт текст текущего сообщения; если текста нет, например у фотографии без подписи, подставляет пустую строку. Поэтому такая фотография уйдёт по запасной ветке. Это небольшая подстановка в параметр n8n.

У If два выхода. Через true проходит точное совпадение, через false остальные сообщения. Команду вводим маленькими латинскими буквами, без пробелов до и после. Обработку групповых команд здесь оставим для отдельной задачи. Условия If.

К выходу true присоедините Edit Fields (Set) и назовите его «Памятка». В режиме Manual Mapping добавьте поле reply типа String. Значение оставьте Fixed и вставьте весь текст памятки из предыдущего раздела.

К выходу false добавьте второй Edit Fields с именем «Подсказка». В нём создайте такое же строковое поле reply, но со запасным текстом.

В обоих узлах сохраните исходные поля вместе с новым reply. В интерфейсе с Include in Output выберите All Input Fields; если видна настройка Keep Only Set Fields, оставьте её выключенной. После узла в выходных данных должны остаться и reply, и message.chat.id. Номер чата ещё понадобится при отправке. Настройки Edit Fields.

Отправьте ответ в исходный чат

Добавьте узел Telegram и соедините с его входом оба Edit Fields. Здесь нужен обычный Telegram, который выполняет действие, а получение сообщения уже поручено Telegram Trigger.

Выберите сохранённый Telegram credential. Укажите Resource → Message, Operation → Send Message. В поле Chat ID включите Expression и вставьте {{ $json.message.chat.id }}. В поле Text тоже включите Expression и вставьте {{ $json.reply }}.

Вместо общего заранее вписанного получателя подставляется чат пришедшего сообщения. Для нашего ограниченного примера он совпадёт с личным чатом владельца. В предпросмотре Chat ID должно появиться число, а в Text один из подготовленных ответов. Через Additional Fields выключите Append n8n Attribution, если хотите получать только текст памятки, без автоматической приписки сервиса. Поля Send Message.

Соединения на поле должны выглядеть так (схема составлена для этой инструкции):

Telegram Trigger → If
                    true → «Памятка»   → Telegram Send Message
                    false → «Подсказка» → тот же Telegram Send Message

Каждое сообщение проходит одну из двух веток, после чего попадает в общую отправку. У обоих Edit Fields есть поле с одинаковым именем reply, поэтому для итогового узла достаточно одной настройки Text.

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

Проверьте обе ветки и опубликуйте схему

Запустите Execute Workflow, чтобы проверить всю цепочку, затем отправьте новое сообщение боту. Для каждой следующей проверки снова включайте ожидание события. Старый результат на поле полезен для настройки, но живой ответ проверяем новым сообщением.

Что отправить в личный чат Ожидаемый ответ Что проверить в n8n
/repair Полная памятка о ремонте сумки Ветка true, поле reply с памяткой, затем Send Message
Где мастерская? Подсказка с командой /repair Ветка false и запасной текст
Фотография без подписи Та же подсказка Пустой текст для сравнения, ветка false
/start Подсказка с доступной командой Сценарий объясняет первый шаг новому пользователю

Сравните в чате полученный ответ с подготовленным текстом, включая все строки памятки. В данных итогового узла найдите отправленное сообщение и его chat.id. Это позволяет проверить и содержание, и получателя. Таблица описывает ожидаемое поведение настроенной схемы.

После успешных проверок закончите тестовый запуск. Нажмите Publish и в открывшемся окне подтвердите публикацию с предложенным именем версии. Дождитесь подтверждённого опубликованного состояния, затем отправьте /repair ещё раз, уже без Execute Workflow. Ответ должен прийти обычным сообщением, а запуск появиться в Executions, истории выполнений.

Автосохранение в n8n оставляет правки черновиком. Для постоянной работы и последующих изменений нужен Publish. При состояниях Publishing, Failed to publish или Published, partial сначала выясните статус Telegram Trigger, прежде чем считать бота запущенным. Сохранение и публикация.

Для остановки нажмите стрелку рядом с Publish в верхней части редактора и в выпадающем меню выберите Unpublish. Telegram перестанет запускать эту схему, пока её снова не опубликуют. Обычного закрытия вкладки редактора для остановки опубликованного бота недостаточно.

Найдите причину, если ответ потерялся

Если после теста опубликованный бот молчит, проверьте переключение webhook. Telegram принимает один такой адрес на бота, и тест заменяет рабочий адрес тестовым. Для новых проверок сначала выполните Unpublish, после них снова Publish и отправьте свежее сообщение. Тестировать уже действующий публичный бот удобнее отдельным ботом. Тестовый и рабочий webhook.

Если запуск есть, но Telegram Send Message завершился с ошибкой, откройте его входные данные. Пустой message.chat.id обычно означает, что Edit Fields отбросил исходные поля. Верните их в выход и повторите проверку с новым сообщением. Если исчез reply, проверьте название поля в обеих ветках. После исправления заново опубликуйте изменения.

Когда вместо памятки приходит подсказка, посмотрите message.text и условие If. Здесь сравнивается вся строка, поэтому /Repair или команда с лишним пробелом отличаются от /repair. Для начала проще отправить команду ровно из инструкции, затем расширять правила под реальные вопросы.

Вопросы и ответы

Нужно ли подключать ChatGPT или оплачивать ИИ API?

Для этого сценария достаточно Telegram и n8n. Готовые ответы задаются в Edit Fields, а выбор между ними делает If. Свободную переписку и разбор фотографии придётся проектировать отдельно, с подходящей моделью и её условиями использования.

Можно ли сразу открыть бота посетителям мастерской?

Сейчас он ограничен личным чатом владельца. Следующим шагом согласуйте тексты с мастерской, проверьте вопросы посетителей и только затем пересмотрите ограничение Chat IDs. При открытом доступе учитывайте лимиты выполнений тарифа n8n; каждый новый запрос запускает схему.

Бот примет заявку и передаст фотографию мастеру?

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

Где менять памятку после запуска?

В поле reply узла «Памятка». Сначала поправьте текст, проверьте его в тестовом режиме с учётом переключения webhook, затем снова опубликуйте схему. Полученный в обычном чате свежий ответ подтвердит, какая версия работает.

Будет ли бот работать после окончания пробного периода?

Для продолжения в n8n Cloud выберите платный план. По текущей справке пробная среда автоматически завершает работу по окончании периода; заранее сохраните схемы, если собираетесь перенести их. Сам профиль Telegram-бота и работающая среда n8n нужны по отдельности. Условия окончания пробного периода.

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

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