Wiki / Core Features / Защита приглашений

Защита приглашений

Обновлено Maxime_48 · 1 час назад · Просмотры: 54

Языки: English Français Deutsch Español Português (Brasil) Italiano Nederlands Polski Türkçe Русский 日本語 한국어 中文

Invite Guard решает, кому разрешено создавать приглашения на ваш сервер. Каждое приглашение, созданное кем-то другим, отзывается сразу же, как только появляется.

Сам Discord этого не умеет: разрешение Create Invite работает по принципу «всё или ничего» для роли, и любой участник, у которого оно есть, может приглашать кого угодно, всегда и из любого видимого ему канала. Invite Guard ставит перед ним список.

Страница настроек Invite Guard: роли, которым разрешено создавать приглашения, три автоматических разрешения, каналы-исключения и канал журнала


🚪 Как это работает

Бот получает уведомление в тот момент, когда создаётся приглашение. Он определяет, кто его создал, сверяет с вашим списком разрешённых и удаляет приглашение, если право этому человеку никто не давал: обычно в течение секунды, ещё до того, как ссылкой воспользовались.

Создатель определяется по самому приглашению. Когда у приглашения нет автора (например, приглашение приложения), бот обращается к журналу аудита вашего сервера, чтобы назвать его.


✅ Всегда освобождены (если вы не скажете иначе)

Включение Invite Guard без настроек не начинает удалять приглашения вашей команды. По умолчанию включены четыре исключения:

  • Сам YAWBDB - освобождён навсегда, поэтому он никогда не отзывает приглашение, которое его попросили создать.
  • Владелец сервера - освобождён навсегда.
  • Участники, которые могут управлять сервером - включено по умолчанию. Именно это не даёт вам закрыть доступ собственному персоналу в ту же минуту, как вы включите функцию. Это можно отключить.
  • Приложения, которым вы дали разрешение - включено по умолчанию. Боты и интеграции сохраняют свои приглашения. Отключите, и они тоже будут отозваны; в журнале указано, какое именно приложение это было.

🧩 Приглашения, которые Discord создаёт сам

Виджет сервера (Server Settings → Engagement) и Server Discovery создают собственное приглашение. У него нет автора, оно не оставляет записи в журнале аудита, а Discord пересоздаёт его, как только кто-то снова читает виджет.

Отзывать его - борьба, которую не выиграть: приглашение возвращается, бот его удаляет, и ваш журнал переполняется. Поэтому такие приглашения по умолчанию сохраняются.

Если вы видите в журналах приглашения без создателя, которые появляются сами день за днём, это виджет, а не злоумышленник. Отключите виджет в Server Settings → Engagement или оставьте исключение включённым.

Отключайте «Разрешить приглашения, которые Discord создаёт самостоятельно» только если виджет и Discovery тоже выключены.


🛑 Остановка

Если пять приглашений отзываются в течение одной минуты, защита для этого сервера останавливается и публикует уведомление в канале журнала. Что-то пересоздаёт приглашения быстрее, чем их можно удалять, и обмен удалениями с ним принёс бы один лишь шум. Уведомление подскажет, куда смотреть.

Защита возобновляет работу сама, как только пройдёт минута.


⚙️ Настройки

Параметр Что делает
Роли, которым разрешено создавать приглашения Любой, у кого есть одна из этих ролей, может свободно создавать приглашения.
Участники, которым разрешено создавать приглашения Отдельные ID пользователей Discord, через запятую или с новой строки: для того, кто должен сохранить право без роли.
Всегда разрешать участникам, которые могут управлять сервером Включено по умолчанию. См. выше.
Разрешить приглашения, созданные приложениями Включено по умолчанию.
Разрешить приглашения, которые Discord создаёт самостоятельно Включено по умолчанию: виджет и Discovery.
Каналы, чьи приглашения никогда не трогают Приглашения, ведущие в эти каналы, остаются нетронутыми, кто бы их ни создал. Полезно для канала, в который ваш виджет приглашает людей.
Сообщить создателю, почему его приглашение исчезло Выключено по умолчанию. Отправляет личное сообщение с объяснением удаления. Приложениям ничего не отправляется, а закрытые личные сообщения никогда не блокируют удаление.
Канал логов Куда сообщается о каждом отзыве.

📋 Что записывается в журнал

Каждое удаление записывается в ваш канал журнала: код приглашения, канал, в который оно вело, кто его создал, почему оно не было разрешено и что произошло. Ничего не удаляется молча.

Сбои тоже записываются, и обычно это одно из двух:

  • У бота нет Manage Server (или Manage Channels для этого канала).
  • Роль бота расположена слишком низко, чтобы действовать. Поднимите роль YAWBDB выше.

Чтобы не завалить журнал, уведомление о сбое публикуется не чаще одного раза в минуту, а не по одному на каждое приглашение.


🔑 Разрешения

Для Invite Guard нужны:

  • Manage Server (или Manage Channels для канала, в который ведёт приглашение), чтобы удалить приглашение.
  • View Audit Log - необязательно, но без него приглашение приложения нельзя приписать создателю, и оно считается безавторским.

См. Разрешения функций.


↔️ Не то же самое, что правило Automod о приглашениях

Automod может удалять сообщения со ссылкой-приглашением: когда кто-то рекламирует в вашем чате другой сервер.

Invite Guard работает на шаг раньше: он убирает приглашения на ваш собственный сервер, которых не должно было существовать. Они независимы и часто используются вместе.


💡 Рекомендуемая настройка

  1. Включите Invite Guard и сначала задайте канал логов.
  2. Оставьте все исключения включёнными и понаблюдайте за журналом день: вы увидите, что именно ваш сервер на самом деле создаёт.
  3. Добавьте роли персонала в «Роли, которым разрешено создавать приглашения».
  4. Только потом решайте, отключать ли исключения для приложений или администраторов.
  5. Если ваш виджет включён и вы хотите его сохранить, оставьте «Разрешить приглашения, которые Discord создаёт самостоятельно» включённым или добавьте канал виджета в список исключений.