# Universal Telegram Notifications - План расширения

## Цель

Превратить jchat_tgnotify в универсальную систему уведомлений для всех событий NGCMS:

- Новые сообщения в jChat ✅ (уже работает)
- Жалобы (complain plugin, forum complaints)
- Обратная связь (feedback plugin)
- Личные сообщения (pm plugin)
- Комментарии (comments plugin)
- Отзывы/жалобы на новости

## Архитектура

### 1. Универсальная функция отправки

```php
function ngcms_tg_notify(array $data): bool
{
    // $data = [
    //     'type' => 'jchat|feedback|pm|complain|comment',
    //     'title' => 'Заголовок',
    //     'author' => 'Автор',
    //     'text' => 'Текст',
    //     'url' => 'Ссылка',
    //     'extra' => [] // дополнительные данные
    // ];
}
```

### 2. Настройки

- Общий переключатель уведомлений
- Индивидуальные переключатели для каждого типа
- Фильтры для каждого типа
- Единый токен бота и chat_id

### 3. Интеграция

Добавить вызовы в существующие плагины:

- feedback/feedback.php - после успешной отправки формы
- pm/pm.php - при новом личном сообщении
- complain/complain.php - при новой жалобе
- Можно добавить хуки через executePluginAction()

## Реализация

### Вариант 1: Расширить jchat_tgnotify

Pros: Меньше дублирования кода
Cons: Название не отражает функциональность

### Вариант 2: Создать ngcms_tgnotify

Pros: Правильное название, чистая архитектура
Cons: Больше работы, нужно обновить jchat

**Выбор: Вариант 1** - расширяем существующий плагин с обратной совместимостью
