Документация MTB

API Reference, руководство пользователя и всё необходимое для работы с платформой MTB.

Быстрый старт

Начните использовать MTB за несколько минут:

  1. Создайте аккаунт — перейдите на web.metalib.xyz/register и заполните форму.
  2. Создайте сервер — нажмите «+» в боковой панели и выберите шаблон или создайте с нуля.
  3. Пригласите друзей — скопируйте ссылку приглашения и поделитесь с друзьями.
  4. Настройте каналы — создайте текстовые и голосовые каналы для разных тем.
  5. Общайтесь! — отправьте первое сообщение или подключитесь к голосовому каналу.

Руководство: Создание аккаунта

Для использования MTB необходимо создать аккаунт:

  • Перейдите на web.metalib.xyz/register
  • Укажите адрес электронной почты, имя пользователя, отображаемое имя и пароль
  • Подтвердите email (если требуется)
  • Настройте профиль: аватар, описание, статус

Совет: Используйте надёжный пароль и включите двухфакторную аутентификацию (2FA) в настройках безопасности.

Руководство: Создание сервера

Серверы — основа MTB. Это пространства для общения с группами людей:

  • Нажмите «+» в боковой панели серверов
  • Выберите «Создать сервер»
  • Укажите название и загрузите иконку
  • Настройте каналы, категории и роли

Каждый сервер получает уникальную ссылку приглашения, которую можно настроить (время жизни, лимит использований).

Руководство: Каналы и категории

Каналы организуют общение на сервере:

  • Текстовые каналы (#) — для переписки, вложений, эмодзи, реакций
  • Голосовые каналы (🔊) — для голосовых/видео звонков в реальном времени
  • Категории — группируют каналы по темам (игры, общение, модерация)

Управление: правая кнопка мыши → «Настройки канала» для настройки прав доступа, описания и лимитов.

Руководство: Роли и разрешения

Роли позволяют гибко управлять правами пользователей:

  • @everyone — роль по умолчанию для всех участников
  • Кастомные роли — создавайте роли с уникальными цветами и иконками
  • Разрешения — настраивайте доступ к каналам, управлению сервером, модерации
  • Иерархия — роли выше в списке имеют приоритет

Руководство: Голосовые каналы

Голосовые каналы не требуют звонка — просто подключитесь:

  • Нажмите на голосовой канал для подключения
  • Управляйте микрофоном и наушниками через нижнюю панель
  • Включите видео или демонстрацию экрана
  • Настройте лимит участников и битрейт в настройках канала

Руководство: Личные сообщения

Общайтесь один на один или в группах:

  • Нажмите на имя пользователя → «Написать сообщение»
  • Создайте групповую беседу (до 10 участников)
  • Делитесь файлами, изображениями, GIF-ами

Руководство: Персонализация

Сделайте MTB своим:

  • Аватар: загрузите изображение профиля
  • Статус: установите кастомный статус с текстом и эмодзи
  • Описание: расскажите о себе в профиле
  • Тема: переключайтесь между тёмной и светлой темами
  • Уведомления: настройте уведомления для каждого сервера и канала

Руководство: Модерация

Инструменты для поддержания порядка:

  • Бан/кик: удаление нарушителей
  • Мут/таймаут: временное ограничение прав
  • Медленный режим: ограничение частоты сообщений в канале
  • Журнал аудита: отслеживание всех действий на сервере
  • Автомодерация: фильтрация спама и нежелательного контента

Руководство: Мобильные клиенты

MTB доступен в браузере на мобильных устройствах. Просто откройте web.metalib.xyz в мобильном браузере для полного доступа ко всем функциям.

API Reference: Обзор

MTB предоставляет HTTP REST API и WebSocket Gateway для программного взаимодействия с платформой.

  • Base URL: https://web.metalib.xyz/api/v9
  • Формат: JSON
  • Авторизация: Bearer-токен в заголовке Authorization
  • WebSocket: wss://web.metalib.xyz/gateway

API: Аутентификация

Аутентификация выполняется через HTTP-заголовок:

Authorization: Bearer <ваш_токен>

Получение токена:

POST/auth/login
ПараметрТипОписание
loginstringEmail или имя пользователя
passwordstringПароль аккаунта

Ответ содержит поле token, используемое для последующих запросов.

POST/auth/register
ПараметрТипОписание
emailstringАдрес электронной почты
usernamestringИмя пользователя
passwordstringПароль (мин. 8 символов)
date_of_birthstringДата рождения (YYYY-MM-DD)

API: Пользователи

GET/users/@me

Получение информации о текущем пользователе.

PATCH/users/@me

Обновление профиля текущего пользователя (аватар, описание, статус).

GET/users/{user_id}/profile

Получение публичного профиля пользователя.

API: Каналы

GET/channels/{channel_id}

Получение информации о канале.

POST/guilds/{guild_id}/channels

Создание нового канала на сервере.

ПараметрТипОписание
namestringНазвание канала
typeinteger0 = текстовый, 2 = голосовой, 4 = категория
topicstringОписание канала
parent_idsnowflakeID категории

API: Сообщения

GET/channels/{channel_id}/messages

Получение сообщений канала. Поддерживает пагинацию через before, after, limit.

POST/channels/{channel_id}/messages

Отправка сообщения в канал.

ПараметрТипОписание
contentstringТекст сообщения (до 2000 символов)
ttsbooleanОзвучить сообщение
noncestringИдентификатор для дедупликации
DELETE/channels/{channel_id}/messages/{message_id}

Удаление сообщения.

PUT/channels/{channel_id}/messages/{message_id}/reactions/{emoji}/@me

Добавление реакции к сообщению.

API: Серверы (Guilds)

POST/guilds

Создание нового сервера.

GET/guilds/{guild_id}

Получение информации о сервере.

GET/guilds/{guild_id}/members

Список участников сервера.

GET/guilds/{guild_id}/roles

Список ролей сервера.

POST/guilds/{guild_id}/roles

Создание новой роли.

API: Голос

Голосовые соединения устанавливаются через WebSocket Gateway. Процесс:

  1. Отправьте Voice State Update через Gateway
  2. Получите Voice Server Update с endpoint и token
  3. Подключитесь к голосовому серверу по WebSocket
  4. Установите UDP-соединение для передачи аудио

API: WebSocket Gateway

Gateway обеспечивает получение событий в реальном времени:

wss://web.metalib.xyz/gateway?v=9&encoding=json

Основные события:

СобытиеОписание
READYСоединение установлено, получены начальные данные
MESSAGE_CREATEНовое сообщение
MESSAGE_UPDATEСообщение отредактировано
MESSAGE_DELETEСообщение удалено
GUILD_CREATEПрисоединение к серверу
GUILD_MEMBER_ADDНовый участник на сервере
PRESENCE_UPDATEИзменение статуса пользователя
TYPING_STARTПользователь начал печатать
VOICE_STATE_UPDATEИзменение голосового статуса

Heartbeat: после получения HELLO, отправляйте Heartbeat с интервалом heartbeat_interval мс:

{"op": 1, "d": null}

API: Rate Limits

API использует систему ограничения запросов. Заголовки ответа содержат:

ЗаголовокОписание
X-RateLimit-LimitМаксимум запросов в текущем окне
X-RateLimit-RemainingОставшееся количество запросов
X-RateLimit-ResetВремя сброса (Unix timestamp)
Retry-AfterСекунды до возможности повторного запроса (при 429)

При превышении лимита возвращается 429 Too Many Requests.

API: Коды ошибок

КодОписание
400Некорректный запрос — проверьте параметры
401Не авторизован — невалидный или отсутствующий токен
403Доступ запрещён — недостаточно прав
404Не найдено — ресурс не существует
429Rate limit — слишком много запросов
500Внутренняя ошибка сервера
502Bad Gateway — временная проблема