Invite Guard решает, кому разрешено создавать приглашения на ваш сервер. Каждое приглашение, созданное кем-то другим, отзывается сразу же, как только появляется.
Сам Discord этого не умеет: разрешение Create Invite работает по принципу «всё или ничего» для роли, и любой участник, у которого оно есть, может приглашать кого угодно, всегда и из любого видимого ему канала. 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 работает на шаг раньше: он убирает приглашения на ваш собственный сервер, которых не должно было существовать. Они независимы и часто используются вместе.
💡 Рекомендуемая настройка
- Включите Invite Guard и сначала задайте канал логов.
- Оставьте все исключения включёнными и понаблюдайте за журналом день: вы увидите, что именно ваш сервер на самом деле создаёт.
- Добавьте роли персонала в «Роли, которым разрешено создавать приглашения».
- Только потом решайте, отключать ли исключения для приложений или администраторов.
- Если ваш виджет включён и вы хотите его сохранить, оставьте «Разрешить приглашения, которые Discord создаёт самостоятельно» включённым или добавьте канал виджета в список исключений.