# CS Chat Logger для Discord
Плагин AMX Mod X для Counter-Strike 1.6, который в режиме реального времени с помощью веб-хуков записывает все сообщения игрового чата, командного чата, а также события подключения и отключения игроков в канал Discord.
## Особенности
- 💬 **Полная запись всех сообщений в чате** — записывает все сообщения из общедоступных чатов
- 👥 **Ведение журнала командного чата** — запись сообщений, относящихся к конкретной команде (террористы, контртеррористы, зрители)
- 📥 **Сообщения о подключении** — записи в журнале при подключении игроков к серверу
- 📤 **Сообщения об отключении** — записи о том, когда игроки покидают сервер
- ⚙️ **Настраиваемость** — переменные CVars для включения/отключения определенных функций
- 🎨 **Оформленные сообщения** — использует формат Markdown Discord (жирный шрифт, блоки кода) и смайлики для удобства чтения
- 🚫 **Фильтрация ботов** — автоматическое игнорирование сообщений от ботов
## Формат сообщения
### Весь чат
```
💬 **PlayerName**: message content
```
### Групповой чат
```
🔴 **PlayerName** `[T]`: message content (Terrorists)
🔵 **PlayerName** `[CT]`: message content (Counter-Terrorists)
👁️ **PlayerName** `[SPEC]`: message content (Spectators)
```
### Подключиться/Отключиться
```
📥 **PlayerName** joined the server
📤 **PlayerName** left the server
```
## Установка
1. **Загрузить зависимости**
- Убедитесь, что в`easy_http.inc` папке «include» модуля AMX Mod X имеется файл
- Обязательные поля: `amxmodx`, `amxmisc`, `cstrike`, `easy_http`
2. **Настроить веб-хук**
- Создайте веб-хук Discord в нужном вам канале
- Откройте файл и`ChatLogger.sma` замените URL-адрес веб-хука в строке 15:
```pawn
new const g_szWebhookURL[] = "YOUR_DISCORD_WEBHOOK_URL_HERE"
```
3. **Скомпилировать**
- Скомпилируйте плагин с помощью компилятора AMX Mod X
- Поместите скомпилированный файл в`ChatLogger.amxx` `addons/amxmodx/plugins/`
4. **Включить плагин**
- Добавить в`ChatLogger.amxx` `addons/amxmodx/configs/plugins.ini`
5. **Перезапустить сервер**
- Перезапустите сервер или смените карту, чтобы загрузить плагин
## Настройки (CVars)
Добавьте эти CVars в свой файл `amxx.cfg`или задайте их через консоль/RCON:
### chatlog_show_teamchat
- **Описание**: Определяет, будут ли сообщения командного чата записываться в Discord
- **Значения**:
- `1` = Показать командный чат (по умолчанию)
- `0` = Скрыть командный чат
- **Пример**: `chatlog_show_teamchat 1`
### chatlog_show_joinleave
- **Описание**: Определяет, будут ли сообщения о подключении/отключении игроков записываться в журнал Discord
- **Значения**:
- `1` = Показывать сообщения о вступлении/выходе (по умолчанию)
- `0` = Скрыть сообщения о вступлении/выходе
- **Пример**: `chatlog_show_joinleave 0`
## Примеры использования
### Показать всё (по умолчанию)
```
chatlog_show_teamchat 1
chatlog_show_joinleave 1
```
### Показывать только общедоступные чаты
```
chatlog_show_teamchat 0
chatlog_show_joinleave 0
```
### Показывать чат, но скрывать спам о входе/выходе
```
chatlog_show_teamchat 1
chatlog_show_joinleave 0
```
## Настройка веб-хука Discord
1. Откройте свой сервер Discord
2. Перейдите в раздел «Настройки сервера» → «Интеграции» → «Веб-хуки»
3. Нажмите «Новый вебхук»
4. Выберите канал, на котором вы хотите сохранять логи чата
5. Скопируйте URL-адрес веб-хука
6. Вставьте его в исходный код плагина (строка 15)
7. Перекомпилируйте плагин
## Технические сведения
- **Версия плагина**: 1.0
- **Автор**: illusion
- **Зависимости**: AMX Mod X версии 1.8.2 и выше, модуль easy_http
- **Метод HTTP**: запросы POST к API веб-хуков Discord
- **Таймаут**: 5 секунд на каждый запрос
- **Тип содержимого**: application/json
## Устранение неисправностей
### Сообщения, которые не отображаются в Discord
- Убедитесь, что URL-адрес веб-хука указан правильно
- Проверьте журналы AMX Mod X на наличие ошибок: `addons/amxmodx/logs/`
- Убедитесь, что модуль`easy_http` загружен
- Проверьте URL-адрес вебхука вручную с помощью curl или Postman
### Ошибки компиляции
- Убедитесь, что все файлы включения находятся в `addons/amxmodx/scripting/include/`
- Убедитесь, что вы используете AMX Mod X версии 1.8.2 или более поздней
- Убедитесь, что `easy_http.inc`установлено правильно
### Появление сообщений от ботов
- Плагин автоматически фильтрует ботов с помощью `is_user_bot()`
- Если боты по-прежнему появляются, возможно, игра не распознаёт их должным образом
## Политика конфиденциальности
Этот плагин записывает все сообщения в чате и информацию об игроках во внешний канал Discord. Обязательно:
- Сообщите своим игрокам, что разговоры в чате записываются
- Соблюдайте местные законы и нормативные акты в области защиты персональных данных
- Сохраните URL-адрес вебхука Discord в надежном месте (не публикуйте его)
## Лицензия
Использование и изменение разрешены. Указание авторства приветствуется, но не является обязательным.
## Поддержка
По вопросам, предложениям или для предоставления материалов, пожалуйста, обращайтесь к автору плагина.
---
**Примечание**: этот плагин отправляет данные на серверы Discord. Убедитесь, что ваш сервер подключен к Интернету и может обращаться к конечным точкам API Discord.