# jChat + Telegram Integration
## ✅ Установка завершена!
Плагин **jchat_tgnotify** успешно создан и интегрирован с вашим jChat.
### 📁 Созданные файлы:
```
C:\OSPanel\home\test.ru\engine\plugins\jchat_tgnotify\
├── jchat_tgnotify.php  - основной модуль с функциями уведомлений
├── config.php          - веб-интерфейс настроек
├── install.php         - установка плагина
├── uninstall.php       - деинсталляция плагина
├── readme              - описание плагина
├── version             - версия
└── history             - история изменений
```
### 🔧 Что было сделано:
1. **Создан плагин jchat_tgnotify** с полным функционалом уведомлений
2. **Модифицирован jchat.php** - добавлена интеграция в функцию `plugin_jchat_add()`
3. **Реализованы фильтры**:
   - Уведомления только для гостей
   - Только первое сообщение за сессию
   - Антифлуд защита (настраиваемый интервал)
---
## 🚀 Инструкция по настройке:
### Шаг 1: Установка плагина в NGCMS
1. Зайдите в админ-панель вашего сайта
2. Перейдите в раздел **Плагины**
3. Найдите **jchat_tgnotify** в списке неустановленных плагинов
4. Нажмите **Установить**
### Шаг 2: Создание Telegram бота
1. Откройте Telegram и найдите бота **@BotFather**
2. Отправьте команду `/newbot`
3. Придумайте имя для бота (например, "Mysite Chat Notifier")
4. Придумайте username (должен заканчиваться на "bot", например: "mysite_chat_bot")
5. **Скопируйте токен** (выглядит примерно так: `123456789:ABCdefGHIjklMNOpqrsTUVwxyz`)
### Шаг 3: Получение Chat ID
1. Найдите в Telegram бота **@userinfobot**
2. Нажмите **Start** или отправьте любое сообщение
3. Бот пришлет вам информацию, где будет ваш **Chat ID** (например: `123456789`)
4. **Скопируйте этот Chat ID**
### Шаг 4: Настройка плагина
1. В админ-панели перейдите: **Плагины → jchat_tgnotify → Конфигурация**
2. Заполните настройки:
   - **Включить уведомления**: Да
   - **Bot Token**: вставьте токен из Шага 2
   - **Admin Chat ID**: вставьте Chat ID из Шага 3
   - **Уведомлять только о сообщениях гостей**: ☑ (по желанию)
   - **Уведомлять только о первом сообщении**: ☑ (рекомендуется)
   - **Антифлуд (сек.)**: 20 (рекомендуется)
3. Нажмите **Сохранить**
### Шаг 5: Тестирование
1. Откройте ваш сайт в режиме "инкогнито" (чтобы быть гостем)
2. Напишите сообщение в чате
3. В течение нескольких секунд вы должны получить уведомление в Telegram
---
## 📊 Описание настроек:
### Основные настройки:
- **Bot Token** - токен бота от @BotFather
- **Admin Chat ID** - ID чата для отправки уведомлений
### Фильтры:
- **Только сообщения гостей** - если включено, уведомления будут только о сообщениях от незарегистрированных пользователей
- **Только первое сообщение за сессию** - защита от спама, будет приходить уведомление только о первом сообщении каждого пользователя
- **Антифлуд (сек.)** - минимальный интервал между уведомлениями от одного посетителя
### Рекомендуемая конфигурация:
Для избежания спама рекомендуется:
- ✅ Включить "Только первое сообщение за сессию"
- ✅ Установить антифлуд на 20-30 секунд
- ⚠️ "Только гости" - по желанию (если хотите отслеживать только новых посетителей)
---
## 📝 Формат уведомления:
```
🟦 jChat: новое сообщение
👤 Автор: Гость123
🕒 Время: 2025-12-15 14:30:45
🌐 IP: 192.168.1.1
🔗 Страница: https://yoursite.ru/
💬 Текст сообщения пользователя
```
---
## 🔍 Техническая информация:
### Как это работает:
1. Когда пользователь отправляет сообщение в jChat, срабатывает функция `plugin_jchat_add()`
2. После успешного сохранения сообщения в БД вызывается `jchat_tgnotify_send()`
3. Функция проверяет все фильтры (гость/не гость, флуд, первое сообщение)
4. Если все проверки пройдены, отправляется HTTP запрос к Telegram Bot API
5. Состояние сохраняется в сессии (или cookies как fallback)
### Требования:
- PHP 7.0+
- cURL или file_get_contents с поддержкой https
- Интернет-соединение с api.telegram.org
### Troubleshooting:
**Уведомления не приходят:**
1. Проверьте, что плагин установлен и включен
2. Проверьте правильность Bot Token и Chat ID
3. Убедитесь, что вы запустили бота (отправили ему команду `/start`)
4. Проверьте, что сервер имеет доступ к api.telegram.org
**Приходит слишком много уведомлений:**
- Включите "Только первое сообщение за сессию"
- Увеличьте интервал антифлуда
---
## 📞 Поддержка:
Если возникли проблемы, проверьте:
- Логи PHP (обычно в `/var/log/php/` или настройки OSPanel)
- Правильность токена бота
- Доступность Telegram API
---
**Готово!** Теперь вы будете получать уведомления о новых сообщениях в чате прямо в Telegram! 🎉
