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

- Каналы-ловушки: каналы-ловушки. Любой, кто не освобождён и пишет здесь, наказывается.
- Действие при срабатывании: предупреждение, мут, кик или бан. Начните с мута или предупреждения.
- Освобождённые роли: участники с любой из этих ролей никогда не активируют ловушку. Добавьте роли модераторов и ботов.
🍯 Как это работает
Вы отмечаете один или несколько каналов как каналы-ловушки.
Когда участник, который не освобождён, отправляет сообщение в одном из этих каналов, YAWBDB:
- Удаляет сообщение.
- Применяет настроенное вами действие (бан, кик, мут или предупреждение).
- При желании отправляет участнику личное сообщение с объяснением произошедшего.
- Записывает срабатывание в журнал.
Пример: канал
#do-not-post, размещённый там, где его найдут любопытные или автоматические аккаунты. У настоящих участников нет причин там писать, а боты, спамящие во все каналы, мгновенно выдают себя.
🎭 Три вида ловушек
Канал-ловушка ловит только того, кто что-то печатает. Две другие ловят аккаунты, которые не говорят ни слова.
💬 Ловушка-канал
Оригинальная: канал, где сама публикация сообщения - нарушение. Описана выше.
🎫 Ловушка-роль
Выберите роль, которую не выдаёт ничто законное, и перечислите её в «Роли-ловушки». Участник, на котором она оказалась, наказывается, а роль тут же снимается.
Обычная схема: приманка в сообщении Reaction Roles, нечто заманчивое вроде Staff или Free Nitro рядом с вашими настоящими самовыдаваемыми ролями. Аккаунт, который нажимает всё подряд, чтобы посмотреть, что можно получить, берёт её; участник, читающий список, - нет.
Выдача роли персоналом - не поимка. Если человек с разрешением Manage Roles даёт кому-то роль-ловушку (случайный промах при перетаскивании ролей или намеренная выдача), никто не наказывается. Вместо этого это записывается серым в журнал, чтобы вы видели, что это произошло.
Чтобы отличить одно от другого, нужно разрешение бота View Audit Log. Без него бот не видит, кто выдал роль, и каждая выдача считается срабатыванием. Дайте ему это разрешение, прежде чем использовать ловушку-роль.
Выдача роли ботом является поимкой: именно YAWBDB сам назначает роль Reaction Role, так что пощада для ботов лишила бы весь смысл.
Считается только роль, которая только что появилась. Тот, кто уже носит ловушку, не вызывает её срабатывание заново каждый раз при смене никнейма.
🔗 Ловушка-приглашение
Создайте приглашение, перечислите его код в «Приглашения-ловушки» и опубликуйте там, где его найдёт только скрейпер или рейдовый список. Любой, кто зайдёт по нему, наказывается, не успев сказать ни слова.
Два требования, без которых ловушка не работает:
- Боту нужно разрешение Manage Server. Это единственный способ вообще читать счётчики использования приглашений.
- Создайте приглашение-ловушку с неограниченным числом использований и без срока действия. Discord удаляет приглашение в тот момент, когда оно достигает лимита, а бот не может отличить исчерпанную ловушку от удаления приглашения модератором, поэтому не действует ни в одном из случаев.
Вставьте код (часть после discord.gg/), а не всю ссылку. Вся ссылка тоже подойдёт; сохраняется только последний сегмент.
Когда бот не уверен, никто не наказывается. Discord никогда не сообщает, каким приглашением воспользовался участник. Бот вычисляет это, следя за тем, какой счётчик использований сдвигается, когда кто-то заходит. Если двое заходят в один и тот же миг, сдвигаются два счётчика, и сопоставить их нельзя, поэтому он не наказывает ни одного и записывает в журнал, что не смог определить. То же относится к первому входу после перезапуска бота, пока ему не с чем сравнивать.
Если вы также используете Invite Guard, добавьте свои приглашения-ловушки в список того, что он разрешает. Иначе он их отзовёт, и ловушка тихо исчезнет.
🚨 Передача в Anti-Raid
Одна сработавшая ловушка - это участник, который нарушает правила. Несколько за минуту - это рейд.
Задайте «Передать в Anti-Raid после N срабатываний» и выберите окно. Когда столько срабатываний происходит внутри него (канал, роль и приглашение считаются вместе), бот просит Anti-Raid ввести блокировку.
Это ловит рейды, которые пропускает собственный счётчик входов Anti-Raid: атакующие, заходящие достаточно медленно, чтобы оставаться ниже порога входов, всё равно попадают в тот же канал-приманку или нажимают ту же роль-приманку.
- Anti-Raid должен быть включён на сервере. Если нет, передача записывается в ваш канал журнала, и больше ничего не происходит: настройка ловушки не включит блокировки у вас за спиной.
- Блокировка принадлежит Anti-Raid, с собственным действием Anti-Raid. Если это действие - кик или бан, оно также удаляет участников, вошедших за последние 30 секунд, и это может затронуть того, кто ничего не делал. Задайте порог достаточно высоким, чтобы его достижение действительно означало рейд, а не трёх любопытных участников подряд.
- 0 отключает передачу, это значение по умолчанию.
⚙️ Действия
Вы выбираете одно действие, которое применяется при каждом срабатывании ловушки.
🔨 Бан
Удаляет участника с сервера и блокирует его.
👢 Кик
Удаляет участника с сервера. Он может вернуться по новому приглашению.
🔇 Мут
Отправляет участника в тайм-аут на настраиваемое время (в минутах).
⚠️ Предупредить
Только записывает срабатывание в журнал, никакого наказания в Discord не применяется. Полезно, чтобы проверить настройку или наблюдать за каналом, не принимая мер.
🛡️ Освобождённые роли
Участники с любой освобождённой ролью никогда не активируют ловушку.
Добавьте сюда роли администраторов, модераторов и ботов, чтобы ваша команда могла свободно писать в каналах-ловушках, не получая наказаний.
Боты всегда игнорируются, включая самого YAWBDB.
📢 Предупреждающий эмбед
Вы можете при желании сделать так, чтобы бот держал в каждом канале-ловушке предупреждающий эмбед, говорящий участникам, что писать там нельзя.
- Эмбед закрепляется автоматически и публикуется в момент сохранения выбора каналов.
- Он публикуется заново автоматически, если когда-либо пропадёт.
- Он удаляется, если вы отключите параметр.
- Вы можете задать собственный заголовок и текст или оставить их пустыми, чтобы использовались разумные значения по умолчанию.
Используйте предупреждающий эмбед, когда ловушка задумана как заметное средство устрашения («публикация здесь влечёт мгновенный бан»). Оставьте его выключенным, когда хотите, чтобы канал выглядел обычным и тихо ловил нарушителей.
✉️ Личное сообщение при срабатывании
Вы можете при желании отправлять наказанному участнику личное сообщение с объяснением действия.
Личные сообщения могут молча не доходить, если у участника отключены личные сообщения или он больше не находится на общем с ботом сервере (например, после бана).
📋 Журналирование
Срабатывания Honeypot записываются в журнал, так что у вас остаётся запись о каждой поимке.
Собственный канал журнала
Когда включено, бот публикует подробный эмбед о каждом срабатывании в выбранном вами канале журнала: пользователь, канал, содержимое сообщения и принятое действие.
Это можно полностью отключить.
🔗 Honeypot и Server Logs
Когда функция Server Logs активна и для неё настроен канал журнала Moderation, срабатывания Honeypot автоматически попадают в этот поток наряду с ручными действиями, действиями Automod и Anti-Raid.
В этом случае собственный канал журнала Honeypot обходится, так что каждое срабатывание записывается один раз, а не дважды. Если вы отключите Server Logs (или его категорию Moderation), Honeypot вернётся к собственному каналу журнала.
🔗 Honeypot и модерация
Каждое попадание в Honeypot (кроме простых предупреждений) записывается в историю наказаний участника точно так же, как ручное наказание, с пометкой источника Honeypot.
Это значит, что баны и муты от Honeypot появляются в истории модерации, учитываются в досье участника и, где применимо, могут создавать ссылки для апелляции так же, как другие наказания.
Сообщение, вызвавшее срабатывание, включается в причину наказания, так что вы всегда знаете, что было опубликовано.
👍 Рекомендуемая настройка
- Создайте канал, в котором у настоящих участников нет причин писать (например, чётко подписанный
#do-not-postили приманку, похожую на канал розыгрыша или верификации). - Отметьте его как канал-ловушку.
- Освободите роли персонала и ботов.
- Начните с мута или предупреждения, пока не убедитесь, что настройка работает как ожидается, затем переключитесь на кик или бан.
- Включите предупреждающий эмбед, если хотите, чтобы он служил средством устрашения, или оставьте выключенным для тихой ловушки.
- Убедитесь, что настроены Server Logs (или собственный канал журнала), чтобы вы могли просматривать поимки.
Когда это заработает, добавьте две другие ловушки:
- Дайте боту View Audit Log, затем добавьте роль-приманку в сообщение Reaction Roles и перечислите её в «Роли-ловушки».
- Дайте боту Manage Server, создайте приглашение с неограниченным числом использований и без срока действия, перечислите его код и опубликуйте там, где будет искать только скрейпер.
- Только когда всё это какое-то время проработает спокойно, задайте порог передачи, и задайте его высоким.
💡 Рекомендации
- Всегда освобождайте роли модерации и ботов, прежде чем включать разрушительное действие.
- Сначала используйте предупреждение, чтобы проверить правильность канала и исключений.
- Тихая ловушка (без предупреждающего эмбеда) ловит больше ботов; заметная отпугивает людей.
- Размещайте Honeypot там, куда доберутся автоматические аккаунты, но где настоящие участники не напишут случайно.
- Периодически просматривайте поимки Honeypot в истории модерации или Server Logs, чтобы убедиться в отсутствии ложных срабатываний.
- Дайте роли-ловушке название, которое манит, а не предостерегает.
Do not clickне поймает никого;Staffпоймает многих. - Никогда не ставьте роль-ловушку выше настоящей роли в иерархии и никогда не давайте ей прав. Это приманка, а не доступ.
- Проверяйте в канале журнала и серые записи: «роль выдана персоналом» и «вход не определён» - это бот сообщает, что решил не действовать, и обе стоит прочитать.