Discord не капризничает — у каждого поля своя задача
Круг проб и ошибок выглядит так: вы оформляете имя генератором, вставляете его в одно поле Discord — и оно прекрасно сохраняется. Вставляете тот же текст в другое поле — и Discord наотрез отказывается. Те же символы, тот же аккаунт, противоположный результат. Кажется, что это произвол.
Это не так. Поля Discord чётко делятся на два семейства. Поля-идентификаторы — те, от которых зависят другие системы: упоминания, заявки в друзья, логи модерации, восстановление аккаунта. Оно ровно одно: ваше уникальное имя пользователя (@username), и оно заперто в крохотном наборе символов, чтобы его нельзя было подделать, ошибиться при наборе или увидеть по-разному на разных телефонах. Поля-презентация — это всё, на что люди смотрят: отображаемые имена, ники, названия ролей, серверов и каналов, ваш раздел «Обо мне». Они широко открыты, потому что через них не проходит ничего критичного.
Как только вы видите эти два семейства, любой вопрос «почему это не сохраняется?» отвечает на себя сам. Вы никогда не боретесь с багом — вы просто вставляете символы уровня презентации в поле уровня идентификатора. Решение всегда одно: перенесите оформление в соседнее поле.
Имя пользователя против отображаемого имени: откуда берётся «недопустимое имя пользователя»
Одна эта путаница даёт больше неудачных попыток, чем всё остальное вместе взятое. С тех пор как Discord отказался от старых четырёхзначных дискриминаторов, у каждого аккаунта два имени, и они подчиняются противоположным правилам:
- Имя пользователя — ваш уникальный логин, показываемый с @ в профиле. Допустимые символы: строчные
a–z,0–9,_и.— и больше ничего. Ни заглавных букв, ни пробелов, и уж точно не 𝓬𝓾𝓻𝓼𝓲𝓿𝓮. Всё, что выходит за этот набор, вызывает ошибку «недопустимое имя пользователя». - Отображаемое имя — большое дружелюбное имя, показываемое в чате и в профиле. Оно принимает пробелы, заглавные буквы, эмодзи и любые символы Unicode-шрифтов, которые вы можете вставить.
Поэтому рабочая схема скучна изнутри и оформлена снаружи:
Внутри сервера появляется третий слой — ник на сервере, который заменяет ваше отображаемое имя только на этом сервере, и он такой же свободный. Оформляйте его под каждое сообщество: ୨୧ 𝒩𝑜𝓋𝒶 ୨୧ в книжном клубе, 𝗡𝗢𝗩𝗔 на киберспортивном сервере. Генератор ников сам подберёт нужные символы.
Матрица разрешений полей
Вот вся карта целиком — каждое текстовое поле Discord, что каждое принимает и почему. Добавьте эту таблицу в закладки — и гадания закончатся.
| Поле | Markdown? | Unicode-шрифты? | Эмодзи? | Почему так устроено |
|---|---|---|---|---|
| Имя пользователя (@логин) | ✗ | ✗ не принимается | ✗ | Ключ идентификации. Только a–z 0–9 _ . — должно набираться, быть уникальным и неподделываемым для упоминаний и заявок в друзья |
| Отображаемое имя | ✗ показывается как есть | ✓ | ✓ | Чистая презентация — показывается в чате, никогда не используется для маршрутизации |
| Ник на сервере | ✗ показывается как есть | ✓ | ✓ | Презентация в рамках сервера; заменяет ваше отображаемое имя на этом сервере |
| Название роли | ✗ показывается как есть | ✓ | ✓ | Ярлык, а не ID — выделенные (hoisted) роли показывают его в боковом списке участников |
| Название сервера | ✗ показывается как есть | ✓ | ✓ | Витрина бренда; приглашения и «Обзор» показывают его как есть |
| Название канала (текстового) | ✗ | ✓ проходит как есть | ✓ | Автоматически приводится к нижнему регистру и дефисам ради единообразия «как в URL» — но затрагиваются только обычные A–Z |
| Тема канала | ✗ в основном как есть | ✓ | ✓ | Поле описания; считайте его обычным текстом плюс Unicode |
| «Обо мне» / описание | ✓ базовое (жирный, курсив, ссылки) | ✓ | ✓ | Карточка профиля использует лёгкий движок отрисовки |
| Сообщения | ✓ полный движок | ✓ | ✓ | Поверхность чата — единственное место, где работает полный движок Markdown |
Прочтите столбцы сверху вниз — и логика бросается в глаза: ровно одна строка отвергает Unicode, и ровно одна строка запускает полный Markdown. Всё, что между ними, — открытая середина: вставленное оформление приветствуется, отрисовываемое оформление игнорируется. Вот и вся система.
Причуда названий каналов: автоматический нижний регистр и дефисы
Названия текстовых каналов при сохранении молча переписываются: обычные заглавные буквы становятся строчными, а пробелы превращаются в дефисы, поэтому General Chat выходит как #general-chat. Люди читают это как «Discord убрал моё оформление». Присмотритесь — он затронул только простые буквы.
Математическая жирная 𝗚 — это не обычная заглавная G, а другой символ Unicode, поэтому правило перевода в нижний регистр её пропускает. Это и есть лазейка, стоящая за каждым сервером, где вы видели списки каналов с заглавными буквами и украшениями. Две сноски: голосовые каналы и категории не нормализуются вовсе (пробелы и простые заглавные там сохраняются), а заголовки категорий — как раз то место, где разделители вроде ─── и ╭─ работают лучше всего.
Где Markdown работает — а где просто лежит без дела
Markdown — это другой вид оформления: символы вроде **жирный**, которые Discord преобразует, когда отрисовывает сообщение. Матрица показывает, что его территория крохотная — сообщения плюс базовое форматирование в разделе «Обо мне». Наберите **Nova** в поле ника — и звёздочки сохранятся как обычные символы, потому что поля имён хранятся и показываются «как есть»; никакого прохода отрисовки, который бы их преобразовал, нет.
Вот практическое разделение, которое стоит запомнить: отрисовываемое оформление (Markdown) — для того, что вы говорите, вставленное оформление (Unicode) — для того, как вас зовут. Вся механика — теги спойлеров, блоки кода, слой Nitro и классические ошибки «почему мои звёздочки не делают жирным» — разобрана в нашем парном руководстве, Форматирование текста в Discord.
Отдельный случай, о котором стоит упомянуть: цветной текст. Он существует только внутри сообщений, только через блоки кода ANSI, с восемью фиксированными цветами и ненадёжной поддержкой на телефонах. Ни одно поле имени нигде в Discord не принимает цвет.
Когда поле лучше не оформлять (даже если можно)
«Принимает Unicode» — это разрешение, а не рекомендация. Оформленное имя несёт три издержки, и их стоит взвесить, прежде чем решаться:
Ctrl+K, поиск участников и автодополнение упоминаний сопоставляют символы буквально. Набор «aesthetic» никогда не найдёт 𝕬𝖊𝖘𝖙𝖍𝖊𝖙𝖎𝖈 — у них нет ни одного общего символа.
Вспомогательные технологии могут прочитать 𝕹𝖔𝖛𝖆 как «математическая фрактурная заглавная N…» или пропустить его целиком.
Витиеватые стили могут отображаться как □□□□ на старых устройствах. Держите стиль простым там, где важна читаемость.
Моё правило: оформляйте поля, на которые смотрят, и держите простыми поля, которые набирают. Отображаемое имя и заголовки категорий? Оформляйте на здоровье — жирный, капитель и лёгкие символы читаются нормально почти везде. Оживлённый текстовый канал, который участники ищут каждый день; роль, которую модераторы пингуют без конца; название сервера, которое хочется сделать находимым? Держите их простыми или почти простыми. А залго в именах вообще пропустите — многие крупные серверы модерируют его автоматически, и это стиль, который чаще всего ломает отрисовку.
Discord запирает ключ, чтобы костюм мог быть каким угодно.
Оформите ник, готовый для Discord →
Создайте безопасное на любом устройстве Unicode-имя и вставьте его в отображаемое имя, ник или список каналов — в каждое поле, которое матрица отмечает как открытое.
Открыть генератор шрифтов →