Боты работают на сервере нашего Minecraft-проекта: связывают игровые аккаунты с Discord, выдают роли, ведут статистику чата, помогают модерации и отвечают на сообщения как ИИ-собеседник «Фукунака». Ниже — что делает каждый бот и скриншоты его настоящих сообщений.
Игрок заходит на Minecraft-сервер, получает короткий код, сервер его отключает. Игрок отправляет код в канал #отправь-код-сюда — бот сопоставляет игровой ник с Discord-аккаунтом и выдаёт роль. В лог-канал приходит запись о выдаче роли и о том, что игрок перезашёл уже с доступом.
Бот выдаёт и снимает роли по правилам проекта: активным участникам чата («Чатер», «Опытный чатер» — порог по числу сообщений), главам и журналистам городов, подписчикам Plus. Для этого ему нужен доступ к списку участников и их ролям — Server Members Intent. Роли меняются в реальном времени, поэтому интент нужен постоянно, а не разово.
Каждые 12 часов бот собирает сообщения канала #чат, публикует отчёт с топ-3 участников и краткой сводкой о чём говорили, а самому активному начисляет награду. Для этого читается содержимое сообщений — Message Content Intent.
Бот находит в сообщениях попытки обхода фильтра (латинские/кириллические подмены, разбитые слова) и публикует сообщение в закрытый канал #logs-chat — с указанием автора и слова, на которое сработал фильтр. Автоматических наказаний по тексту нет: решение принимает модератор, о чём и говорят реакции под сообщением.
Бот отвечает, когда его упомянули в сообщении, ответили реплаем на его сообщение, поставили реакцию ❓ или прислали голосовое сообщение. Ответ формируется с учётом последних сообщений канала. Сам бот первым не пишет и на обычные сообщения без обращения не реагирует.
Бот публикует карточку входа игрока на игровой сервер (IP, пинг, локация, клиент) и предупреждает модерацию, если с этого же IP или подсети уже заходил другой ник — это помогает ловить обход блокировок и твинков. IP-адреса в примере скрыты.
Бот открывает и закрывает тикеты в #actions, напоминает о неактивных обращениях и уведомляет модерацию.
Без него бот видит только факт сообщения, но не текст — а текст нужен статистике чата (§3), отчёту о нарушениях (§4) и ответам ИИ (§5). Сообщения читаются только в каналах, где присутствует бот.
Без него бот не получает список участников и их роли в реальном времени, поэтому не может выдавать и снимать роли (§1–2) и определять, кому положена награда.
Presence Intent (онлайн-статусы) мы не запрашиваем — он не нужен ни одной функции.
Политика конфиденциальности: makotomc.ru/bots/privacy.html