Что такое «команда розыска» в Discord-ботах?
Команда розыска — это специальная служебная функция в большинстве модераторских ботов, которая позволяет администраторам сервера вносить участников в общий «чёрный список» или специальный канал-розыск. После добавления нарушителя в эту базу:
- его никнейм/тег фиксируется;
- добавляется причина розыска;
- серверы-партнёры могут автоматически получать оповещение о потенциально опасном пользователе.
Какие бывают виды команд розыска
Локальный розыск
Только на вашем сервере. Пример в Mee6:
!wanted add @пользователь причина
Глобальный (кросс-серверный) розыск
Боты GAAR (Global Anti-Abuse Relay), Wick, Beemo, SafetyAtLast умеют делиться данными между сотнями серверов. Формат команды может отличаться, но общая логика такая:
- Вызов команды
/globalreport @пользователь причина [proof]. - Бот отправляет запрос в центральную базу.
- На всех партнёрских серверах появляется оповещение: «⚠️ Пользователь user#1234 внесён в розыск за спам/оскорбления».
Как правильно оформить команду (шаблоны)
Для бота Wick
/ro add
user: @пользователь
reason: mass DM spam
proof: ссылка на скриншот или сообщение
Для MEE6
!infractions add @пользователь 4 Spam & Scam
где «4» — уровень нарушения, «Spam & Scam» — причина.
Для GAAR
/gaar add @пользователь reason: "NSFW-спам в ЛС" severity: high
Как отменить розыск
- Wick:
/ro remove @пользователь - MEE6:
!infractions remove @пользователь - GAAR:
/gaar remove @пользователь
Права и ограничения
Чтобы команды розыска работали, боту нужны права:
- Manage Messages, для удаления доказательств из чата;
- Manage Nicknames — чтобы добавлять префикс [WANTED] к нику;
- Send Messages & Embed Links — для отправки красивых карточек-розысков;
- в случае глобального розыска — Administrator или отдельный API-токен в настройках бота.
Как создать собственную команду розыска (шаблон на discord.py)
<code>
import discord
from discord.ext import commands
bot = commands.Bot(command_prefix='!')
wanted = {}
@bot.command
@commands.has_permissions(manage_guild=True)
async def wanted(ctx, member: discord.Member, *, reason):
wanted[member.id] = reason
embed = discord.Embed(
title="🔍 Розыск",
description=f"{member.mention} добавлен в розыск",
color=0xff0000
)
embed.add_field(name="Причина", value=reason)
await ctx.send(embed=embed)
@bot.command
async def unwant(ctx, member: discord.Member):
if member.id in wanted:
del wanted[member.id]
await ctx.send(f"{member.display_name} удалён из розыска.")
else:
await ctx.send("Пользователь не в розыске.")
</code>
Частые ошибки
- ошибка 508 Resource Limit Is Reached — сервер бота перегружен, подождите пару минут и повторите команду;
- «Missing Permissions», у бота нет прав Manage Messages или Embed Links;
- «Unknown User» — попробуйте ввести ID вместо упоминания:
/ro add 1234567###-###-####.
Команда розыска — мощный инструмент, но требует ответственности. Всегда:
- указывайте точную причину;
- прикладывайте доказательства;
- не злоупотребляйте глобальными списками.
Соблюдайте Условия использования Discord, и ваш сервер будет в безопасности!