Привет, Хабр!

Месяц назад я выложил в открытый доступ проект бота для технической поддержки. За это время он собрал более 100 клонирований и 40+ звёзд на GitHub. В Issues начали появляться предложения по доработкам — большое спасибо всем, кто откликнулся. Это дало мощную мотивацию развивать проект дальше.

GitHub - https://github.com/prog-time/tg-support-bot

Если понравится — буду рад вашей ⭐!

В этом посте — кратко о ключевых изменениях последнего релиза.

📡 Подключение ВКонтакте как нового источника трафика

Теперь Telegram-группа может объединять сообщения сразу из двух источников — Telegram-бота и бота сообщества ВКонтакте. Все сообщения, приходящие в группу ВК, автоматически транслируются в Telegram.

Поддерживаются основные типы сообщений:
📄 текст, 📎 файлы, 🖼 изображения, 🎤 голосовые, 👤 контакты и др.

Вид чата тех. поддержки

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

Имя: Иван Иванов  
Телефон: +7 900 123-45-67

Как подключить ВКонтакте

  1. Перейдите в настройки сообщества ВК → Работа с API

  2. Создайте ключ доступа с правами:

    • Сообщения сообщества

    • Фотографии

    • Документы

  3. В разделе Callback API:

    • Укажите адрес: https://<ваш-домен>/api/vk/bot

    • Установите секретный ключ

  4. В разделе Типы событий активируйте:

    • Входящие сообщения

    • Исходящие сообщения

  5. В .env-файле проекта пропишите:

VK_TOKEN=your_token
VK_CONFIRM_CODE=your_code
VK_SECRET_CODE=your_secret

🐳 Docker-compose сборка: сервер, БД, мониторинг

Теперь проект поставляется с готовой docker-compose.yml. Это упрощает развёртывание на сервере и делает систему более модульной.

В сборку входят:

  • nginx — прокси-сервер

  • php-fpm — обработка запросов

  • PostgreSQL — СУБД

  • PgAdmin — веб-интерфейс для работы с БД

  • Grafana + Loki — мониторинг и централизованное логирование

Grafana + Loki

Что логируется:

  • все входящие и исходящие запросы

  • ошибки и исключения

В будущем планирую расширить количество метрик. Пока что есть базовый мониторинг по трафику и ошибкам — этого достаточно, чтобы понять поведение системы в продакшене.

🔄 Что дальше

Эти доработки были предложены сообществом. Благодаря вам проект стал заметно сильнее. Спасибо за участие!

Следующая цель — 80 звёзд на GitHub. Как только наберём, начну работу над подключением нового канала трафика.

Если у вас есть идеи, баг-репорты или фичи — создавайте Issue. Каждое предложение внимательно читаю.

Проект доступен здесь: GitHub.

Буду рад звезде ⭐ и фидбеку.

Спасибо за внимание!