Перейти к основному содержимому

📦 Telegram Bot Builder v1.5.0

Дата выпуска: 23 февраля 2026 г.

Сравнение версий: v1.4.4...v1.5.0


🎯 Основные изменения

🐳 Docker-конфигурация для развёртывания

Добавлена полная поддержка Docker для удобного развёртывания проекта у клиентов.

Новые файлы:

  • Dockerfile — образ приложения с Node.js
  • docker-compose.yml — оркестрация контейнеров (приложение + PostgreSQL)
  • .dockerignore — исключение лишних файлов из образа

Возможности:

  • ✅ Быстрое развёртывание одной командой
  • ✅ Изолированное окружение
  • ✅ PostgreSQL в контейнере
  • ✅ Настройки для production

Использование:

# Запуск
docker-compose up -d

# Остановка
docker-compose down

📬 Рассылка по личным сообщениям

Добавлена система массовой рассылки сообщений пользователям в личные сообщения.

Возможности:

  • Broadcast-узлы — специальный тип узла для рассылки
  • База данных User IDs — хранение и управление ID пользователей
  • Сохранение ID — автоматический сбор ID при взаимодействии
  • Экспорт/импорт ID — работа с CSV файлами
  • Статистика рассылки — отслеживание результатов

Компоненты:

  • Broadcast/generateBroadcastHandler.ts — генерация обработчика рассылки (Bot API)
  • Broadcast/generateBroadcastClientHandler.ts — генерация обработчика (Client API)
  • Broadcast/generateDatabaseVariables.ts — генерация переменных БД
  • utils/findUploadsPath.ts — универсальный поиск пути к uploads

🗄️ База данных User IDs

Новая система хранения и управления ID пользователей для рассылок.

Функционал:

  • ✅ Сохранение ID при взаимодействии с ботом
  • ✅ Экспорт в CSV (столбиком, только ID)
  • ✅ Импорт из CSV
  • ✅ Переключатель сохранения ID в настройках проекта
  • ✅ Статистика базы пользователей

Миграции БД:

  • 0003_add_user_ids_table.sql — таблица user_ids
  • 0004_add_user_ids_unique_constraint.sql — уникальность user_id

🔧 Рефакторинг

Улучшена структура кода для лучшей поддерживаемости.

Изменения:

  • Файлы Broadcast перемещены из generate/ в Broadcast/
  • utils/findUploadsPath.ts перемещён в корень utils/
  • Обновлены импорты в зависимых файлах

📊 Статистика изменений

КатегорияФайловСтрок добавленоСтрок удалено
Docker320226
Рассылка (Broadcast)41530
База данных User IDs6200+0
Рефакторинг93032
Документация11530
Всего23738+58

🔧 Технические детали

Docker-конфигурация

├── Dockerfile # Образ Node.js приложения
├── docker-compose.yml # Оркестрация (app + postgres)
├── .dockerignore # Исключения для образа
└── docs/CLIENT-README.md # Документация для клиентов

Модули рассылки

client/lib/Broadcast/
├── generateBroadcastHandler.ts # Bot API handler
├── generateBroadcastClientHandler.ts # Client API handler
└── generateDatabaseVariables.ts # Переменные БД

client/lib/utils/
└── findUploadsPath.ts # Универсальный путь к uploads

Миграции БД

-- Таблица user_ids
CREATE TABLE user_ids (
id SERIAL PRIMARY KEY,
user_id BIGINT NOT NULL UNIQUE,
username TEXT,
first_name TEXT,
last_name TEXT,
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);

🚀 Установка

Через Docker (рекомендуется):

# Клонируйте репозиторий
git clone https://github.com/fedorabakumets/telegram-bot-builder.git

# Запустите через Docker Compose
docker-compose up -d

# Приложение доступно на http://localhost:5000

Локальная установка:

# Обновите проект
git pull origin main

# Установите зависимости
cd client
npm install

# Примените миграции БД
npm run db:migrate

# Запустите проект
npm run build && npm run start

⚠️ Важные замечания

Docker

  • Порты: Приложение доступно на порту 5000
  • База данных: PostgreSQL на порту 5432
  • Тома: Данные БД сохраняются в volume postgres_data

Рассылка

  • Спам: Не рассылайте спам, уважайте пользователей
  • Согласие: Получайте согласие на рассылку
  • Лимиты: Telegram ограничивает массовые рассылки
  • Блокировки: При злоупотреблении возможна блокировка

База данных

  • Резервное копирование: Регулярно делайте бэкапы
  • Миграции: Применяйте миграции перед запуском

📦 Зависимости

Новые зависимости не требуются.


🔗 Ссылки


📋 Чек-лист обновления

  • Docker-конфигурация добавлена
  • Система рассылок реализована
  • База данных User IDs создана
  • Миграции БД применены
  • Рефакторинг файлов завершён
  • Документация обновлена

Полный список изменений: Коммиты v1.4.4...v1.5.0