# Документация по Notifier

Модуль **Notifier** предназначен для отправки уведомлений в Telegram-чаты, например, о событиях, ошибках или статусах работы системы. Используется для оперативного информирования администраторов и команд.

---

### Конфигурация

- **chat\_ids** — объект с идентификаторами чатов, берётся из атрибута `plg_notifier_chat_ids`: 
    - Пример: `{ "default": -123456789, "admins": -987654321 }`

---

### Методы

### sendToTelegramChat(message, jsonParams, groupCode, type)

Отправляет сообщение в указанный Telegram-чат.

**Параметры**

<table id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-mes"><thead><tr><th>Имя</th><th>Тип</th><th>Описание</th></tr></thead><tbody><tr><td>message</td><td>String</td><td>Текст сообщения (обязательно)</td></tr><tr><td>jsonParams</td><td>Object</td><td>Дополнительные параметры, выводятся как JSON-блок (опционально)</td></tr><tr><td>groupCode</td><td>String</td><td>Код группы чата, например "default", "admins" (по умолчанию "default")</td></tr><tr><td>type</td><td>String</td><td>Тип сообщения: "info", "success", "warning", "error", "debug" (по умолчанию "info")</td></tr></tbody></table>

**Возвращает**  
Boolean — `true` если успешно, `false` если ошибка.

**Пример:**

```js
Notifier.sendToTelegramChat(
  "Выполнена операция", 
  { user: "admin", status: "ok" }, 
  "admins", 
  "success"
)
```

---

### Формат сообщения

- В начале сообщения добавляется иконка по типу: 
    - info: ℹ️
    - success: ✅
    - warning: ⚠️
    - error: ❌
    - debug: 🔧
- Если переданы параметры, они выводятся в виде форматированного JSON-блока.
- Используется Markdown для форматирования.

---

### Обработка ошибок

- Если сообщение пустое или не строка — возвращает `false` и пишет ошибку в лог.
- Если группа чата не найдена — возвращает `false` и пишет ошибку в лог.
- Если ошибка при отправке — возвращает `false` и пишет ошибку в лог.

---

### Быстрый старт

1. Настройте атрибут `plg_notifier_chat_ids` с нужными чатами.
2. Все уведомления из плагинов LLM уже приходят в ваш чат.
3. Или вручную используйте `Notifier.sendToTelegramChat()` для отправки уведомлений.