Журнал аудита записывает, что люди делают внутри панели YAWBDB: кто включил функцию, изменил настройку, добавил участника команды или что сделал администратор платформы в бэкофисе. Это ваш след ответственности за всё, что происходит в панели управления.
Это не то же самое, что Server Logs. Server Logs записывает события Discord (входы, удаление сообщений, голосовая активность и т. д.). Журнал аудита записывает действия в панели (изменения настроек, управление командой, модерация). Они отвечают на разные вопросы: «что произошло на моём сервере Discord?» и «кто что изменил в моей панели?».
🔭 Три представления, один след
Журнал аудита - это один и тот же след, увиденный на трёх уровнях. Действие автоматически появляется в каждом представлении, где оно уместно, так что смотреть больше чем в одном месте не нужно.
| Представление | Где | Что показывает |
|---|---|---|
| Активность сервера | Сервер → Журнал активности | Всё, что сделано с настройками этого сервера |
| Активность команды | Настройки команды → Журнал активности | Всё управление командой и всё, что сделано на каждом сервере, которым владеет команда |
| Бэкофис (администраторы) | Админ → Журнал аудита | Каждое действие по всей платформе, все команды и серверы |
Поскольку представления связаны между собой, одно действие сразу появляется везде, где оно важно. Включение функции на сервере отображается в журнале этого сервера, в журнале его команды и в бэкофисе. Когда администратор платформы действует на одном из ваших серверов, вы видите это и в журналах своей команды и сервера, с чёткой пометкой АДМИН, так что вмешательство бэкофиса никогда не остаётся для вас незаметным.
👁️ Кто что видит
- Активность сервера и команды - владелец команды и участники с правами управления (роль «Администратор»). Участники без прав управления не могут её открыть.
- Бэкофис - только администраторы платформы. Они видят полный, нефильтрованный след.
📋 Что записывается
Настройки сервера
- Включение или отключение функций
- Сохранение настроек функций (Automod, Join Verification, Starboard, Server Logs и остальных)
- Удаление сервера из команды
Управление командой
- Приглашение, добавление, удаление участников или их выход
- Переименование или удаление команды
Действия в бэкофисе (администраторов)
- Пользователя забанили, разбанили или назначили ему новую роль на платформе
- Обновление SEO-настроек платформы и учётных данных интеграций
- Отправка рассылки, публикация или повторная отправка объявления
- Изменение цены тарифа или синхронизация с PayPal, перевод функции в бету или из беты
- Перезапись ротации статусов бота, удаление раздела вики
- Очистка, которая удаляет все серверы, из которых бот уже ушёл
Модерация - решения, принятые в отношении человека
- Наказание участника, переписанная причина, очищенная история
- Принятая или отклонённая заявка, удалённые ответы
- Закрытая жалоба или наказание, выданное прямо из неё
- Решение по апелляции; закрытый или удалённый тикет
- Скорректированный или сброшенный XP, участник, удалённый из списка дней рождения, решение по предложению
Функции сервера: созданные, переписанные и удалённые
- Правила Automod, пользовательские команды, шаблоны эмбедов, розыгрыши
- Сообщения с ролями по реакции, запланированные сообщения, соцоповещения
- Дни рождения, предложения, настройки уровней и их граф наград
Каждая запись фиксирует, кто это сделал (сохраняется, даже если его аккаунт потом удалён), когда и затронутый объект.
Почему модерация - отдельная категория. Решение, принятое в отношении человека, не должно стоять в одном списке с выбором цвета. Наказания, очищенные истории, отклонённые заявки и скорректированный XP лежат отдельно от изменений настроек, так что владелец сервера может читать одно, не продираясь через другое.
Какой пробел это закрыло. Раньше модерация оставляла свой след в канале журнала Discord, а он необязателен. На сервере без такого канала очистка истории участника не оставляла вообще ничего. А наказание прямо из жалобы полностью обходило страницу модерации: это было единственное наказание без какого-либо следа в панели.
Что намеренно не записывается
- Ответы персонала и внутренние заметки - это уже долговечные записи с указанием автора; их аудит скопировал бы каждое сообщение во вторую таблицу без всякой пользы.
- Изменение порядка тарифов, разделов вики или страниц вики - это сдвигает только столбец сортировки и ничего больше.
- Текст страницы вики - он уже архивируется версия за версией с указанием автора.
- Что говорила запись памяти ИИ. След фиксирует, что факт был записан, изменён или удалён, но никогда не его содержание. След живёт дольше факта и очищается по собственному расписанию, так что копирование фразы в него тихо отменило бы удаление.
🔍 Что именно изменилось
Большинство записей содержат таблицу до / после: не просто «настройки Wordle сохранены», а поля, которые изменились, и значения, из которых и в которые они изменились.
| Поле | До | После |
|---|---|---|
channel_id |
8412… | 9930… |
cooldown_seconds |
10 | 30 |
Откройте Подробности у любой записи, чтобы увидеть её. Несколько особенностей того, как это устроено:
- Перечисляется только то, что действительно изменилось. Сохранение формы без изменений ничего не записывает, а поле, вернувшееся из формы в другом виде (
"1"вместо1), не считается изменением. - Списки сравниваются целиком. Добавление одного канала в список разрешённых читается как одно изменение этого списка, а не как сдвиг каждой записи.
- Вложенные настройки читаются как путь, так что
categories.voice.enabledговорит, какую категорию вы отключили. - Учётные данные никогда не записываются. Если токен или секрет изменён, запись фиксирует сам факт ротации: обе стороны показывают
••••••••. Это относится ко всему, включая учётные данные интеграций в админке.
Каждая запись читается на вашем языке: фраза следует языку, выбранному вами для панели, а английская строка, с которой запись была сохранена, остаётся прямо под ней, если они читаются по-разному. Записи, сделанные до появления этой возможности, по-прежнему читаются только на английском.
🎚️ Поиск записи
Одни и те же фильтры доступны во всех трёх представлениях:
- Поиск - автор, действие, описание или затронутый объект
- Категория - функция, сервер, команда, участник, подписка, оплата, админ, вход
- Действие - точное действие, выбираемое из того, что реально есть в вашем журнале
- Автор - один человек
- Диапазон дат - с / по
- Сервер (представления команды и бэкофиса) и Источник: админ или пользователь (только бэкофис)
Активные фильтры показываются плашками над таблицей: нажмите на плашку, чтобы убрать фильтр. Счётчики над фильтрами показывают общее число, число за последние 24 часа, сколько было действий бэкофиса и сколько разных людей действовало.
🪝 Отправка на ваш собственный сервер
След команды не обязательно читать на этой странице. Настройки команды → Вебхуки направляют его на URL, которым вы владеете: каждая запись, на которую вы подписаны, приходит в виде подписанного JSON-запроса POST в тот момент, когда она записана.
Вебхук несёт ровно то, что показывает эта страница, и ничего больше: те же строки, те же поля, за вычетом IP-адреса, который никогда не покидает панель. Полная настройка, формат данных и проверка подписи: Outgoing Webhooks.
⏳ Хранение
Записи хранятся в скользящем окне (по умолчанию 180 дней), а более старые автоматически удаляются. След только дополняется: записи никогда не редактируются постфактум.