Telegram-бот и invite-коды в TelePost

TGPT начинается не с отдельной панели регистрации, а с Telegram-бота. Это простой входной сценарий: администратор создаёт почтовый ящик, получает короткий invite-code и передаёт его пользователю. Пользователь активирует код в Telegram и сразу получает кнопку для открытия Mini App.

Такой подход хорошо подходит для закрытого или полу-закрытого сервиса, где ящики не должны появляться случайно. Администратор контролирует, какие адреса создаются, а пользователь не заполняет длинную форму и не настраивает почтовый клиент вручную.

Что решает бот

Бот закрывает выдачу доступа к почтовому ящику:

  • администратор создаёт ящик командой /add;
  • бот создаёт аккаунт в Mox и сохраняет доступы в базе;
  • для пользователя выпускается invite-code с ограниченным сроком действия;
  • пользователь активирует код командой /activate;
  • после активации Telegram показывает кнопку Web App для перехода в почту.

В админской части есть команды /add, /del, /codes и /revoke. Они нужны для создания ящиков, удаления, просмотра invite-кодов и отзыва кода, если его больше не нужно использовать.

Как выдаётся ящик

Основной сценарий выглядит так:

  1. Администратор отправляет боту команду /add email@example.com.
  2. Бот генерирует пароль для нового почтового аккаунта.
  3. Через Mox создаётся почтовый ящик.
  4. Пароль сохраняется не открытым текстом, а в зашифрованном виде.
  5. Бот создаёт invite-code и задаёт срок действия на семь дней.
  6. Администратор получает сообщение с кодом и командой активации для пользователя.

Важная деталь здесь — разделение создания ящика и подключения пользователя. Ящик может быть создан заранее, но до активации он ещё не привязан к Telegram-пользователю.

Как пользователь активирует доступ

Пользователь получает код и отправляет боту команду /activate CODE. После этого backend проверяет:

  • существует ли такой invite-code;
  • не был ли он уже использован;
  • не истёк ли срок действия;
  • к какому email относится код.

Если проверка проходит, код помечается активированным, email связывается с Telegram-пользователем, а бот отправляет кнопку «Открыть почту». Эта кнопка запускает Telegram Mini App, где пользователь уже работает с письмами.

Почему это удобно

У такого flow есть несколько практичных плюсов.

Во-первых, выдача ящика остаётся контролируемой. Администратор сам создаёт email и может отозвать код до активации.

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

В-третьих, credentials остаются на стороне сервиса. Пароль от почтового аккаунта хранится зашифрованным и используется backend-логикой для работы с Mox, а не передаётся пользователю как настройка почтового клиента.

Где этот сценарий продолжается

После активации пользователь переходит в Mini App и работает с почтой уже в интерфейсе TelePost: читает входящие, открывает папки, пишет письма и сохраняет черновики. Подробнее об этом — в статье Telegram Mini App Mail.