Привязка Discord
Привязка и отвязка Discord-аккаунта игрока к его Steam-идентичности.
Управление связкой Steam ↔ Discord, которую сервер хранит для игрока. Привязка питает принцип
«Discord рядом со Steam»: ответы по игрокам, модерации и владельцам объектов возвращают привязанный
discord_id рядом со steam_id (null, если игрок не привязан).
POST /v1/players/{ref}/discord
Привязать Discord-аккаунт к Steam-игроку.
Скоуп: players:link.
{ref} здесь должен быть Steam64 — вы привязываете Discord id к Steam-идентичности, поэтому
discord:-реф отклоняется (400 validation_error).
| Поле | Тип | Значение |
|---|---|---|
discord_id | строка (17–20 цифр) | Snowflake привязываемого Discord-аккаунта. |
POST /v1/players/76561198000000000/discord
Content-Type: application/json
{ "discord_id": "123456789012345678" }Возвращает игрока в новом, привязанном состоянии:
{ "player": { "steam_id": "76561198000000000", "discord_id": "123456789012345678" } }Steam-игрок должен уже существовать на сервере (хотя бы раз зайти). Привязка Steam id, у которого уже
есть Discord, — или Discord id, уже привязанного к другому Steam, — это 409 conflict.
DELETE /v1/players/{ref}/discord
Отвязать Discord игрока. Без тела. {ref} может быть Steam64 или discord:-идентификатором.
{ "player": { "steam_id": "76561198000000000", "discord_id": null } }Идемпотентность и форма ref
По Steam64-рефу отвязка идемпотентна — отвязка уже отвязанного игрока всё равно вернёт 200.
По discord:-рефу — нет: после отвязки этот Discord id больше не резолвится ни в кого, поэтому
повтор вернёт 404 not_found. Для безопасных по повтору отвязок адресуйте игрока по Steam64.
Ошибки
Стандартный конверт ошибок.
| Код | Статус | Когда |
|---|---|---|
insufficient_scope | 403 | У ключа нет players:link. |
validation_error | 400 | Некорректный discord_id или discord:-реф на роуте привязки (POST). |
not_found | 404 | У Steam id нет записи на сервере (не заходил) или discord:-реф не резолвится в привязанного игрока. |
conflict | 409 | Steam id уже привязан к Discord, или Discord id уже привязан к другому Steam (сообщение — в error.message). |
server_unavailable | 503 | Игровой сервер офлайн или недоступен. |
gateway_timeout | 504 | Сервер не ответил вовремя. |