Перейти к основному содержанию
Свой бот в Telegram, который отвечает с помощью моделей GPT, Claude, DeepSeek и других из RuAPI. Используем открытый проект ChatGPT-Telegram-Workers (лицензия MIT): он работает на бесплатном тарифе Cloudflare Workers, свой сервер и домен не нужны. По умолчанию с ботом может общаться только владелец, поэтому посторонние не потратят ваш баланс. Инструкция проверена 09.11.2026 на актуальной версии проекта. Программировать не нужно. Хотите написать бота сами на Python — см. Телеграм-бот на нейросети.

Что понадобится

  • Ключ RuAPI. Консоль → API-ключи → создайте ключ sk-.... Новым пользователям обычно сразу начисляется пробный баланс, на нём доступны deepseek-flash, claude-haiku-5-5 и gpt-6-luna. Для остальных моделей пополните баланс — см. Пополнение.
  • Аккаунт Cloudflare (бесплатный).
  • Аккаунт GitHub или GitLab. Cloudflare скопирует в него код бота. Лучше взять отдельный пустой аккаунт — ниже объясняем почему.
  • Telegram на телефоне или компьютере.

Шаг 1. Создайте бота и узнайте свой ID

1

Бот в @BotFather

Откройте @BotFather, отправьте /newbot, придумайте имя и username, который заканчивается на _bot. BotFather пришлёт токен — сохраните его, никому не показывайте.
2

Ваш Telegram ID

Откройте @userinfobot и отправьте /start. Он ответит числом Id — это ваш ADMIN_ID.

Шаг 2. Разверните бота на Cloudflare

1

Откройте ссылку для деплоя

2

Подключите Git-аккаунт

Без подключения GitHub или GitLab деплой не запустится (Connect a Git account to continue). Нажмите кнопку подключения GitHub и разрешите доступ.
На экране GitHub «Install & Authorize» не давайте доступ ко всем репозиториям основного аккаунта с рабочим кодом: Cloudflare получит право читать и менять их. Надёжнее всего подключить отдельный пустой аккаунт GitHub — там можно спокойно выбрать All repositories.
3

Заполните форму

ADMIN_PASSWORD подписан как необязательный, но без него форма не отправится. Придумайте длинный случайный пароль (20+ символов) и сохраните: с ним открывается админка бота, где лежит ваш ключ RuAPI.
Команды сборки и деплоя оставьте как есть. Защиту Cloudflare Access не включайте — она закроет боту приём сообщений от Telegram.
4

Запустите деплой

Сборка идёт около минуты. Дождитесь, пока все этапы станут зелёными.

Шаг 3. Включите адрес workers.dev

В новых проектах адрес *.workers.dev бывает выключен, и тогда Telegram не может достучаться до бота. Откройте проект → вкладка с доменами (Domains) → включите переключатель у адреса Production. Адрес Preview может включиться вместе с ним — это не мешает. Скопируйте адрес Production — он понадобится дальше. Надписи «доступ есть у всех, кто знает URL» не пугайтесь: писать боту может только ADMIN_ID, а админка закрыта паролем.

Шаг 4. Войдите в админку и привяжите webhook

1

Вход в админку

Откройте https://<ваш-проект>.<ваш-поддомен>.workers.dev/admin и войдите с паролем ADMIN_PASSWORD.
2

Привязка webhook

В том же браузере откройте https://<ваш-проект>.<ваш-поддомен>.workers.dev/init. Должно появиться Webhook bound successfully.Страница /init: Webhook bound successfullyЕсли видите Unauthorized. Open /admin, log in, then retry. — вы не вошли в админку. Вернитесь к предыдущему шагу, затем нажмите Retry.Страница /init: Unauthorized. Open /admin, log in, then retry.

Шаг 5. Подключите RuAPI

В админке на вкладке Chat нажмите Add Provider: Админка бота: форма Add Provider, выбор API Format
1

Модели

Нажмите Fetch Models — подтянется список моделей RuAPI. Нажмите + у нужных, например deepseek-flash, claude-haiku-5-5, gpt-6-luna. Если список не загрузился, добавьте модели вручную через Add Model, точные ID есть на странице цен.Админка бота: Fetch Models, загружен список моделей RuAPI
2

Модель по умолчанию

Нажмите на модель в списке Models — галочка отмечает модель по умолчанию. Для начала удобно взять deepseek-flash — одна из самых недорогих моделей, см. цены.
3

RuAPI по умолчанию и сохранение

Нажмите Set as Default, затем Save. В списке провайдеров у RuAPI должна появиться галочка. Если провайдеров несколько, без этого бот может отвечать не через RuAPI.Админка бота: модели RuAPI и кнопка Set as DefaultАдминка бота: RuAPI с галочкой в списке провайдеров

Шаг 6. Проверьте

Откройте своего бота в Telegram:
  1. /setenv settings.language=en — служебные сообщения бота по умолчанию на китайском, русского языка в боте нет, поэтому переключите на английский. Чтобы меню команд / тоже стало английским, ещё раз откройте /init в браузере. На ответы модели это не влияет: она отвечает на языке вашего вопроса.
  2. /start — бот ответит, что начат новый диалог.
  3. Напишите «Привет, представься одной фразой» — ответ появляется постепенно, по мере генерации.
  4. /models → RuAPI → выберите другую модель, отправьте /new и спросите что-нибудь ещё.
  5. Отправьте фото с вопросом «что на картинке?». deepseek-flash картинки не видит — для фото переключитесь, например, на claude-haiku-5-5. Какие модели понимают изображения — см. Изображения.
Сменили модель — отправьте /new. /models меняет только модель, а диалог продолжается: бот снова отправляет новой модели всю прошлую переписку, и она принимает чужие ответы за свои. Например, после ответа deepseek-flash модель Claude может представиться DeepSeek, повторять чужой стиль и ошибки. Кроме того, старая история каждый раз оплачивается заново. /new очищает историю, и новая модель начинает с чистого листа.
Запросы бота видны в консоли RuAPI → Журнал запросов.

Все команды бота

Команды из меню Telegram (кнопка / рядом с полем ввода): Команды, которых нет в меню, но которые работают: /admin, /system, /setenv, /setenvs и /delenv в личном чате работают только для ADMIN_ID. Если отправить боту JSON без команды, он уйдёт модели как обычный текст — настройки так не меняются.

Полезные настройки

Их можно менять в админке на вкладке Settings или командой /setenv: Сбросить настройку: /delenv settings.systemInitMessage. Чтобы ботом пользовались друзья, добавьте их Telegram ID в список разрешённых пользователей на вкладке Settings. Все их запросы списываются с вашего баланса RuAPI. Учтите: друзья тоже могут менять модель через /models, и она меняется для всех. Оставьте в списке Models только недорогие модели.

Расходы

  • Cloudflare: для личного бота обычно хватает бесплатного тарифа Workers.
  • RuAPI: оплата за токены по ценам. С каждым сообщением бот заново отправляет модели историю диалога, поэтому в длинной переписке каждый следующий ответ стоит дороже. Начинайте /new, когда меняете тему.
  • Для Claude RuAPI автоматически кэширует повторяющееся начало диалога: если между сообщениями проходит не больше 5 минут, повторно отправленная история стоит дешевле — см. Кэширование промптов.

Если что-то не работает

Деплой через Cloudflare требует подключить GitHub или GitLab — пропустить этот шаг нельзя. Подключите отдельный пустой аккаунт (см. шаг 2).
Поле фактически обязательное. Укажите длинный случайный пароль.
Сначала откройте /admin и войдите с ADMIN_PASSWORD, затем снова откройте /init и нажмите Retry.
  • Проверьте, что адрес workers.dev включён (шаг 3) и /init показал успех.
  • Cloudflare Access должен быть выключен.
  • ADMIN_ID — это ваш числовой ID от @userinfobot, а не username.
После /models бот продолжает старый диалог, и новая модель видит, что «она» писала раньше. Например, Claude после ответа DeepSeek может назвать себя DeepSeek. Отправьте /new после смены модели.
Пока баланс не пополнен, работают только deepseek-flash, claude-haiku-5-5 и gpt-6-luna. Выберите одну из них в /models или пополните баланс.
Админка и /init открываются через адрес *.workers.dev. Если в вашем регионе он не открывается или грузится очень медленно, попробуйте другую сеть. Переписка с ботом идёт через Telegram и от этого не зависит.
  • API Key — ключ RuAPI sk-....
  • Base URL — ровно https://www.ruapi.ai/v1.

Безопасность

  • Ключ RuAPI и токен бота хранятся в вашем аккаунте Cloudflare и не попадают в Git-репозиторий.
  • Можно создать для бота отдельный ключ RuAPI с лимитом расходов — тогда в худшем случае бот потратит не больше лимита.
  • Если бот больше не нужен: удалите Worker в Cloudflare, бота — командой /deletebot в @BotFather, ключ — в консоли RuAPI, созданный репозиторий — в GitHub. В настройках GitHub (Settings → Applications) отзовите доступ Cloudflare.