Telegram-бот на Laravel для клиентской поддержки через темы в группах
Разработка поддержки через Telegram часто заканчивается тем, что каждый менеджер ведёт переписку с клиентом в личке, а история общения теряется где-то между GIF-ками и ссылками. Это не масштабируется и выглядит как временное решение.
Я столкнулся с этой проблемой сам и решил сделать своего Telegram-бота на Laravel, который решает сразу несколько задач:
- структурирует коммуникацию,
- прячет личные аккаунты менеджеров,
- даёт возможность работать с обращениями в одной Telegram-группе,
- использует темы (топики) для диалогов с каждым клиентом.
Где посмотреть и задать вопросы
Весь код открыт, поддержка звёздочками приветствуется 😉:
🔗 https://github.com/prog-time/tg-support-bot
Если при установке возникнут вопросы — пишите в Telegram:
Как это работает
Пользователь пишет боту. Если это новое обращение — в Telegram-группе создаётся отдельная тема, куда бот отправляет первое сообщение клиента и базовую информацию о нём. Менеджеры отвечают внутри темы, и бот пересылает ответы пользователю от своего имени.
Благодаря этому:
- у команды появляется общая история переписки;
- менеджеры не светят свои личные аккаунты;
- можно подключать нескольких операторов без потери контекста;
- клиент чувствует, что с ним работают “как в саппорте”, а не в личке.
Особенности реализации
Бот написан на Laravel 12 и использует стандартный стек.
Файлы, фото и сообщения не сохраняются — всё пересылается в Telegram напрямую. Это упрощает соблюдение конфиденциальности и избавляет от лишних забот с хранением персональных данных.
Для кого это решение
Проект подойдёт для небольших команд, фрилансеров, техподдержки онлайн-сервисов, Telegram-first продуктов, онлайн-школ, консультационных проектов и всех, кто получает обращения через Telegram и хочет организовать поддержку быстро и просто.
Установка
- Клонируем репозиторий:
git clone https://github.com/prog-time/tg-support-bot.git
Создаём бота через BotFather.
Создаём приватную Telegram-группу с включёнными темами, добавляем туда бота как администратора.
Получаем ID группы (например, с помощью getmyid_bot).
Настраиваем .env:
APP_URL=https://your-domain.com
TELEGRAM_TOKEN=your_bot_token
TELEGRAM_GROUP_ID=your_group_id
TELEGRAM_SECRET_KEY=ваш_уникальный_ключ
- Устанавливаем webhook: Переходим в браузере по адресу: https://your-domain.com/api/telegram/set_webhook
Готово. Теперь можно писать боту, и он будет маршрутизировать обращения в соответствующие темы в группе.
Если вам пригодился проект — буду рад фидбеку и идеям по улучшению.