RMRP BackUp
Служебный Discord-бот для резервного копирования и восстановления структуры серверов игрового проекта RMRP (rmrp.ru). Бот снимает полный снимок сервера — каналы, роли, права, баны, никнеймы, треды и сообщения — и умеет восстановить сервер из этого снимка. Работает только на служебных серверах проекта, доступен только администрации из списка разрешённых пользователей.
🗃️ Полный снимок сервера
Один бэкап сохраняет структуру сервера целиком: каналы и их права, роли, баны, никнеймы участников, треды и последние сообщения в каждом канале.
🧯 Восстановление
Восстановление сервера из бэкапа по ID или из JSON-файла: каналы, роли, оверрайты, баны и сообщения — с возможностью не удалять существующие каналы и роли.
🔒 Только для администрации
Команды доступны только пользователям из списка разрешённых; уровень доступа на каждом сервере задаётся отдельно. Публичного доступа к боту нет.
Назначение
Бот создан исключительно для игрового проекта RMRP и используется только в его служебных Discord-серверах. Его задачи:
- защита структуры сервера от массовых удалений, рейдов и ошибок модерации — всегда есть снимок, из которого можно восстановить сервер;
- автоматические бэкапы по расписанию с интервалом от 1 до 720 часов;
- перенос и синхронизация ролей и банов между серверами проекта;
- выгрузка данных сервера в JSON/CSV для внутренней отчётности проекта.
Возможности
- Ручной бэкап — снимок сервера с настраиваемым количеством последних сообщений на канал и тред (0–1000; по умолчанию 100).
- Интервальный автобэкап — включение и выключение расписания, просмотр статуса; хранится не более 3 автобэкапов на сервер (кольцевой буфер).
- Восстановление — по ID бэкапа или из JSON-файла, с выбором, что восстанавливать (баны, участники, треды, сообщения) и без удаления существующих каналов/ролей при необходимости.
- Синхронизация — однократный перенос банов и выдача роли «Б» участникам с ролью «А» на другом сервере.
- Экспорт — сервер, каналы, канал, роли, роль и баны выгружаются в JSON или CSV.
- Клонирование роли — точная копия роли: права, цвет, иконка и все доступы к каналам.
- Уборка — удаление ролей-дубликатов с одинаковыми именами после восстановления.
- Хранение с автоочисткой — устаревшие ручные бэкапы удаляются по сроку хранения, отчёт об удалении приходит в служебный канал.
Команды
| Команда | Что делает |
|---|---|
/backup create | Полный снимок сервера: каналы, роли, права, баны, никнеймы, треды, сообщения (опция messages 0–1000). |
/backup all | Снимок всех серверов, где находится бот (по очереди, только для разрешённых пользователей). |
/backup load | Восстановление сервера из бэкапа по ID или из JSON-файла; опции выбора данных и режим без удаления каналов/ролей. |
/backup list | Список сохранённых бэкапов. |
/backup delete | Удаление одного бэкапа по ID. |
/backup delete-all | Удаление всех бэкапов из хранилища (с обязательным подтверждением). |
/backup dedupe-roles | Удаление ролей-дубликатов с одинаковыми именами. |
/backup interval | Включение, выключение и просмотр расписания автобэкапа (интервал 1–720 часов). |
/intervals | Сводка по автобэкапам сразу на всех серверах с фильтрами. |
/sync bans | Перенос банов между двумя серверами (в одну или обе стороны). |
/sync roles | Выдача роли второго сервера участникам с указанной ролью на текущем сервере. |
/sync list · /sync delete | Список и удаление настроенных синхронизаций. |
/export | Выгрузка сервера, каналов, канала, ролей, роли или банов в JSON/CSV. |
/role clone | Точная копия роли: права, цвет, иконка, доступы к каналам (отдельный список разрешённых пользователей). |
/settings permissions | Уровень доступа к командам на сервере: admins_full, admins_restricted или owner_only. |
/servers · /help | Список серверов, где находится бот, и полная справка по командам. |
Используемые права Discord
Бот запрашивает минимально необходимый для своих задач набор разрешений:
View Channels Send Messages Read Message History Embed Links Attach Files Manage Messages Manage Channels Manage Roles Manage Webhooks Ban Members
Manage Channels,Manage Roles,Ban Members,Manage Webhooks— создание и удаление каналов и ролей, выдача банов при восстановлении, работа с вебхуками ретрансляции.Manage MessagesиRead Message History— сохранение последних сообщений канала/треда в бэкап и их восстановление.- Полное восстановление сервера (удаление и пересоздание каналов и ролей) использует разрешение
Administrator, которое проект выдаёт боту только на собственных служебных серверах. - Интенты: Server Members (данные участников и никнеймы) и Message Content (сохранение и восстановление текста сообщений). Интент Presence не запрашивается и не используется.
Какие данные обрабатываются и зачем
| Данные | Зачем | Где хранятся |
|---|---|---|
| Структура сервера: названия и темы каналов, позиции, оверрайты прав, slowmode, роли с их правами, цветом и иконкой | Восстановление сервера в прежнем виде после сбоя или массового удаления | MongoDB (сжатые документы бэкапов) и JSON-файлы в data/backups/ |
| Баны: ID пользователей и указанные модераторами причины | Восстановление списка банов и синхронизация банов между серверами проекта | MongoDB + JSON-экспорт |
| ID участников и их никнеймы на сервере | Восстановление никнеймов и корректный состав участников в синхронизациях ролей | MongoDB + JSON-экспорт |
| Последние сообщения каналов и тредов (текст, вложения, автор, время, ID) — до 1000 на канал/тред, по умолчанию 100 | Восстановление содержимого служебных каналов проекта после сбоя | MongoDB + JSON-экспорт |
| Настройки бота: ID серверов, уровень доступа, расписания автобэкапа, определения синхронизаций | Работа доступа и расписаний, служебные уведомления администрации | MongoDB (коллекции настроек и синхронизаций) |
| Технические журналы: время, ID сервера/канала, результат операции, ошибки | Диагностика и разбор инцидентов | Локальные журналы на сервере проекта |
Бот не обрабатывает: личные сообщения (DM), данные серверов, на которых он не установлен, платёжные и биометрические данные, голосовые данные, сведения о здоровье, геолокацию и интент Presence.
Сроки хранения
- ручные бэкапы — по умолчанию 180 дней с момента создания, после чего удаляются автоматически вместе с JSON-экспортом (срок настраивается; значение 0 отключает автоочистку);
- интервальные автобэкапы — не более 3 последних на сервер, старые перезаписываются;
- настройки сервера и определения синхронизаций — пока бот работает на сервере;
- технические журналы — до 7 дней (ежедневная ротация, файлы старше 7 дней удаляются автоматически);
- по обоснованному запросу данные удаляются в срок не более 30 дней (см. Политику конфиденциальности, раздел по RMRP BackUp).
Правовые документы
- Политика конфиденциальности — раздел «RMRP BackUp» · Privacy Policy (EN)
- Условия использования — раздел «RMRP BackUp» · Terms of Use (EN)
- Общая политика конфиденциальности · Общие условия использования
Связь
Официальный Discord проекта: discord.gg/6Az63EPEAA
Поддержка игроков: forum.rmrp.ru — помощь
E-mail поддержки проекта: donate@rmrp.ru
Сайт проекта: rmrp.ru