Свой Telegram-бот

Как построить бота поверх партнёрского API. Готового образа пока нет.

Шаблон

Рабочий скелет лежит в нашем репозитории: examples/partner-bot. Форкайте и переделывайте — это отправная точка, а не библиотека.

cp .env.example .env      # токен бота + ваш ключ rsk_
docker build -t partner-bot .
docker run -d --env-file .env -v "$PWD/data:/data" partner-bot

Из коробки: /start спрашивает email и заводит аккаунт, /trial выдаёт пробник в пределах бюджета, /my показывает состояние. Внутри — обработка 429 по Retry-After, человеческие тексты на исчерпанный бюджет и SQLite ровно под соответствие «telegram id → аккаунт».

Архитектура

Бот — ваш процесс на любом языке. Он держит три вещи: токен Telegram, ваш ключ rsk_ и собственную базу соответствий «пользователь Telegram → аккаунт Logrus». Вся работа с VPN делегируется нашему API, бот занимается только UX и продажей.

Минимальный сценарий регистрации:

  1. Пользователь жмёт «Начать» → бот создаёт аккаунт: POST /api/v1/reseller/accounts с email и external_ref = его Telegram id.
  2. В ответе приходит generated_password — один раз. Бот отдаёт логин и пароль пользователю и не хранит пароль у себя.
  3. Пользователь ставит приложение, логинится этими данными и получает ваш бренд и ваши узлы.

Правила безопасности

  • Ключ rsk_ живёт только на сервере бота. Он создаёт аккаунты и меняет ваши цены; в клиентском приложении, в репозитории и в логах ему не место.
  • Ключ для бота просите со скоупом accounts:write (и accounts:read, если нужен список) — без прав на цены и выплаты.
  • external_ref — ваш идентификатор пользователя, по нему вы потом сверяете свою базу с нашим списком клиентов.

Что бот делать не может

Принимать деньги. Оплата идёт через чекаут на вашей витрине: revshare считается из подтверждённых платежей, и подписка в обход этого вам ничего не приносит. Конфиг клиент тоже получает не в боте, а в приложении после логина.

Всё остальное бот умеет: завести клиента, выдать пробник, отключить и вернуть — см. Создание пользователей.

Если сценарий требует именно бота как точки продажи — приходите с ним на созвон, это разумный кандидат в приоритет.