Продукты · В проде

Сервис доступа с Telegram-ботом

Выдача и учёт ключей через бота, мультисерверная маршрутизация и админка со статистикой.

Роль
Автор и разработчик
Период
2025—сейчас
Стек
Node.js · Express · Telegraf · SQLite · Vue 3 · Pinia
  • 18k строк кода
  • 35 тестов

Свой сервис в проде: пользователь получает доступ в переписке с ботом, администратор видит состояние узлов и статистику в веб-панели.

Задача

Раздавать и учитывать ключи доступа руками не получается: нужно знать, какой ключ у кого, какой узел жив, и уметь переключить пользователей на другой сервер, не переписывая всех по одному.

Решение

Бот на Telegraf как единственный интерфейс выдачи: пользователю не нужно ни приложение, ни регистрация. Учёт ключей и привязок — в SQLite, чтобы у сервиса не было внешних зависимостей. Веб-админка на Vue 3 показывает узлы, занятость ключей и статистику; маршрутизация мультисерверная, узел переключается настройкой, а не переносом пользователей.

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

Результат

Работает в проде. Выдача занимает у пользователя одно сообщение, у администратора — один экран. Восемнадцать тысяч строк, тридцать пять наборов тестов.

Все работы