Двусторонняя синхронизация чатов между Telegram и amoCRM
- Двусторонняя синхронизация сообщений
- Поддержка вложений:
- Текстовые сообщения
- Файлы
- Изображения
- Голосовые сообщения
- Стикеры
- Контакты
- Видео
- Локация
- Реакции на сообщения (эмодзи)
- Уведомления о печатание
- Изменения статуса сообщения в amoCRM
- Подключения канала чатов к аккаунту
- Редактирование сообщений с синхронизацией
- Безопасная аутентификация через OAuth 2.0
- Асинхронная обработка через очереди
- Обновления токенов из amoCRM с помощью крона
- Безопасное получения файлов из Telegram с помощью прокси обработчика
| Компонент | Технологии |
|---|---|
| Бэкенд | PHP 8.2, Mezzio, Laravel Eloquent ORM |
| Очереди | Beanstalkd, Pheanstalk |
| База данных | MySQL 8.0, Миграции через Phpmig |
| Инфраструктура | Docker, Nginx, PHP-FPM |
| Интеграции | amoCRM API, Telegram Bot API |
- Docker 27.5+
- PHP 8.2+
- Composer 2.7+
- Клонируйте репозиторий:
git clone git@github.com:fcritic/amocrm-telegram-bot.git
cd amocrm-telegram-bot- Настройте окружение:
cp .env.example .env
# Отредактируйте .env файл- Установите композер
composer install -o-
Установите конфигурацию
a. Поменяйте в файле
integrations.global.phphost
-
Запустите систему:
a. Сборка Docker-образа на основе
Dockerfileи файлов из текущей папкиdocker build -t application-backend .b. Поднимаеv все сервисы из
docker-compose.ymlи запускает их в фонеdocker-compose up -d
-
Выполните миграции из контейнера
application-backend:a. Открываем shell-сессию внутри контейнера
docker exec -it application-backend shb. Выполняем миграции
vendor/bin/phpmig migrate
c. При необходимости можете откатить все миграции
vendor/bin/phpmig phpmig rollback -t 0
-
Запустите воркеры из контейнера
application-backend:a. Запуска воркера для вебхуков из API чатов amoCRM
AmoJoQueueWorkerphp console.php app:amojo:sync-message
b. Запуска воркера для вебхуков из Telegram
TelegramQueueWorkerphp console.php app:telegram:sync-message
-
Создайте приватную/публичную(требуется тех.аккаунт) интеграцию в amoCRM amoМаркет
- Укажите redirect_uri:
https://ваш-домен/api/amocrm/installing-integration - Множественные источники: поддерживает
- Загрузите виджет
- Укажите redirect_uri:
-
Зарегистрируйте канал чатов в технической поддержки amoCRM
- Укажите Webhook URL
https://ваш-домен/api/amocrm/webhook/amojo/:scope_id - Начало работы c API чатов amoCRM
- Укажите Webhook URL
Создайте бота через @BotFather и получите токен который укажите в карточки интеграции при загрузки виджета
Проект распространяется под лицензией MIT - подробности в файле LICENSE