Skip to content

pingera/tg-support-bot

 
 

Repository files navigation

🤖 TG Support Bot — бот для технической поддержки (Telegram | ВКонтакте)

Бот на Laravel, который объединяет клиентов и менеджеров через Telegram и ВКонтакте, скрывая личные аккаунты и маршрутизируя общение через темы.

По всем вопросам и предложениям писать сюда: https://t.me/pt_tg_support


📌 Как работает

  1. Пользователь отправляет сообщение боту.
  2. Бот находит или создаёт тему (топик) в Telegram-группе для этого клиента.
  3. Сообщение пересылается в соответствующую тему.
  4. Менеджеры отвечают в теме — бот отслеживает их сообщения и пересылает их обратно пользователю от своего имени.

Презентация работы бота


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

  • Поддержка сообщений из Telegram и ВКонтакте.
  • Перенаправление сообщений в Telegram-группу для администраторов.
  • Поддержка различных типов сообщений: текст, изображения, файлы, голосовые сообщения, контакты и т.д.
  • Docker Compose сборка для быстрого развертывания.
  • Интеграция с Grafana и Loki для мониторинга и логирования.
  • Приватность: клиент всегда получает сообщение от бота, не зная, кто из менеджеров ему отвечает.

🧱 Технологии

  • Laravel
  • Telegram Bot API
  • Docker
  • Docker Compose
  • PostgreSQL
  • Grafana
  • Loki
  • PgAdmin
  • Redis

⚙️ Инструкции по настройке бота

Все настройки описаны в разделе Wiki


🔧 Обязательные переменные

  • APP_URL — ссылка на ваш проект
  • TELEGRAM_BOT_TOKEN — токен вашего Telegram-бота
  • TELEGRAM_GROUP_ID — id группы в Telegram
  • TELEGRAM_SECRET_KEY — ключ для проверки запросов от Telegram (напишите свой ключ!)
  • VK_TOKEN — токен доступа к сообществу ВКонтакте
  • VK_CONFIRM_CODE — строка подтверждения для Callback API
  • VK_SECRET_CODE — секретный ключ для проверки подлинности запросов

🧩 Дополнительные возможности

Шаблон для названия темы

Для генерации названия топика из шаблона необходимо добавить в .env файл параметр, который будет содержать шаблон названия.

TEMPLATE_TOPIC_NAME="{first_name} {last_name}"

На данный момент доступны следующие переменные:

'id',
'email',
'first_name',
'last_name',
'username',

В случае отсутствия данных, название темы сгенерируется в формате "#{chat_id}".


📄 Лицензия

MIT. Подробнее — LICENSE.

About

Бот для технической поддержки

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 61.7%
  • Blade 37.0%
  • Other 1.3%