Это руководство поможет вам создать персонального AI-ассистента в Telegram без единой строчки кода. Мы будем использовать платформу n8n для “оркестровки” нашего процесса, Telegram в качестве интерфейса для общения и OpenAI как “мозг” нашего ассистента.
Что умеет этот ассистент?
В базовой версии, которую мы создадим по этой инструкции, ваш AI-ассистент сможет:
- Принимать текстовые сообщения от вас или других пользователей в Telegram.
- Обрабатывать эти сообщения с помощью мощной языковой модели от OpenAI (аналог ChatGPT).
- Отправлять осмысленные ответы обратно в чат Telegram.
Это основа, на которую в дальнейшем можно наращивать более сложный функционал, например, добавлять ассистенту “память” для ведения полноценного диалога или подключать инструменты для поиска информации в интернете в реальном времени.
Предварительные требования
Прежде чем мы начнем, убедитесь, что у вас есть:
- Аккаунт n8n: Вы можете зарегистрироваться на официальном сайте n8n.io и воспользоваться 14-дневным бесплатным пробным периодом в облачной версии.
- Аккаунт Telegram: Необходим для создания бота.
- Аккаунт OpenAI: Зарегистрируйтесь на platform.openai.com, чтобы получить доступ к API.
Шаг 1: Создание вашего Telegram-бота
Первым делом нам нужен сам бот, который будет общаться с пользователями.
- Найдите BotFather: Откройте Telegram, в строке поиска введите
BotFatherи выберите официального бота с синей галочкой. - Создайте нового бота: Отправьте команду
/newbot. BotFather попросит вас придумать имя для бота (например, “Мой AI Помощник”) и уникальныйusername, который обязательно должен заканчиваться наbot(например,MyAIAssistant_bot). - Сохраните API-токен: После успешного создания бота BotFather пришлет вам сообщение с API-токеном. Это секретный ключ! Скопируйте его и сохраните в надежном месте. Он понадобится нам для подключения Telegram к n8n.
Шаг 2: Настройка рабочего процесса в n8n
Теперь перейдем в n8n, где мы соберем логику нашего ассистента.
- Войдите в свой аккаунт n8n и создайте новый пустой рабочий процесс (workflow).
- Вы увидите стартовый узел. Нажмите на него, чтобы начать добавлять компоненты.
Шаг 3: Подключение Telegram для получения сообщений
Нам нужно настроить “триггер” — узел, который будет запускать наш процесс каждый раз, когда кто-то пишет боту.
- Добавьте узел Telegram: В поиске узлов найдите и выберите “Telegram Trigger” (или “On message”).
- Подключите ваш аккаунт: В настройках узла, в поле
Credential, нажмите “Create New”. В открывшемся окне вставьте API-токен, который вы получили от BotFather на Шаге 1. Сохраните. - Протестируйте узел: Нажмите кнопку “Execute Node” (или “Test step”). Затем отправьте любое сообщение вашему боту в Telegram. Если все настроено правильно, n8n получит это сообщение, и вы увидите данные в формате JSON.
Шаг 4: Добавление “мозга” — OpenAI
Этот узел будет принимать текст от пользователя и отправлять его в OpenAI для генерации ответа.
- Получите API-ключ OpenAI: Зайдите в свой аккаунт на platform.openai.com, перейдите в раздел “API Keys” и создайте новый секретный ключ. Скопируйте его.
- Добавьте узел OpenAI: Нажмите на
+после узла Telegram и найдите в поиске “OpenAI”. Выберите модель чата (“Chat Model”). - Подключите аккаунт OpenAI: Аналогично Telegram, в поле
Credentialсоздайте новое подключение, вставив API-ключ от OpenAI. - Настройте передачу данных: В настройках узла найдите поле “Prompt”. Здесь нам нужно указать, что именно отправлять в OpenAI. Мы будем использовать “выражение” (expression), чтобы подставить текст из сообщения, полученного на предыдущем шаге. Нажмите на иконку с фигурными скобками и выберите
Nodes > Telegram Trigger > Output Data > JSON > message > text. В поле должно появиться выражение:{{ $json.message.text }}. Это динамически передаст текст пользователя в OpenAI.
Шаг 5: Отправка ответа обратно в Telegram
Последний шаг — отправить ответ, сгенерированный OpenAI, обратно пользователю.
- Добавьте узел отправки Telegram: Нажмите на
+после узла OpenAI, найдите “Telegram” и выберите действие “send a text message”. - Настройте получателя: В поле “Chat ID” нам нужно указать, кому отправлять ответ. Используем выражение, чтобы взять ID чата из самого первого узла:
{{ $node.json.message.chat.id }}. - Настройте текст сообщения: В поле “Text” мы вставим ответ от OpenAI. Используем выражение, ссылающееся на результат работы узла OpenAI:
{{ $node["OpenAI"].json.choices.message.content }}.
Шаг 6: Тестирование и активация
Ваш рабочий процесс готов!
- Протестируйте весь процесс: Нажмите кнопку “Execute Workflow” в левом нижнем углу. Отправьте сообщение вашему боту в Telegram. Вы должны увидеть, как каждый узел успешно выполняется, и получить ответ от AI в мессенджере.
- Активируйте рабочий процесс: Когда вы убедились, что все работает, переключите тумблер “Active” в правом верхнем углу. Теперь ваш ассистент будет работать 24/7, автоматически отвечая на сообщения.
Советы по устранению неполадок
- Ошибки — это нормально. Если что-то не работает, в первую очередь проверьте правильность API-ключей.
- Тестируйте пошагово. Запускайте каждый узел отдельно, чтобы убедиться, что он получает правильные данные от предыдущего и корректно их обрабатывает.
- Проверяйте выражения. Убедитесь, что пути к данным в выражениях (например,
message.text) указаны верно. Структура данных видна в результатах выполнения каждого узла.
Поздравляем! Вы только что создали своего собственного AI-ассистента. Теперь вы можете экспериментировать, добавляя новые функции, например, память для ведения диалога или инструменты для поиска информации в интернете.
