Discord 不是前後不一——每個欄位都有任務
試錯的迴圈通常是這樣:你用產生器把名字改成花式,貼進某個 Discord 欄位,完美存檔。你把同一段文字貼進另一個欄位,Discord 卻直接拒絕。一樣的字元、一樣的帳號,結果相反。這感覺很隨機。
其實不是。Discord 的欄位乾淨地分成兩大家族。身分欄位是其他系統會依賴的那些——提及、交友邀請、管理紀錄、帳號救援。這種欄位只有一個:你那個獨一無二的 @使用者名稱,它被鎖在一個極小的字元集裡,好讓它永遠不會被冒充、打錯,或在不同手機上顯示得不一樣。呈現欄位則是大家看的東西——顯示名稱、暱稱、身分組名稱、伺服器和頻道名稱、你的關於我。那些欄位大開,因為沒有任何關鍵的東西經過它們。
一旦你看懂這兩個家族,每個「為什麼這樣存不了?」都會自己有答案。你從來不是在跟 bug 搏鬥;你只是把呈現等級的字元貼進了身分等級的欄位。解法永遠一樣:把樣式往旁邊挪一個欄位。
使用者名稱 vs 顯示名稱:「使用者名稱無效」是怎麼來的
光是這一個誤會,製造的失敗嘗試就比其他全部加起來還多。自從 Discord 拿掉舊的四位數識別碼之後,每個帳號都有兩個名字,而它們遵守相反的規則:
- 使用者名稱——你那個獨一無二的代號,在個人資料上以 @ 顯示。允許的字元:小寫
a–z、0–9、_和.——沒有別的。不能有大寫、不能有空格,更絕對不能有 𝓬𝓾𝓻𝓼𝓲𝓿𝓮。任何跳出這個字元集的東西都會觸發「使用者名稱無效」的錯誤。 - 顯示名稱——在聊天和個人資料上出現的那個又大又親切的名字。它接受空格、大寫、emoji,以及任何你能貼上的 Unicode 字體字元。
所以能成功的模式,就是裡面樸素、外面花式:
在伺服器裡,你會多一層,伺服器暱稱,它只在那個伺服器裡蓋過你的顯示名稱——而且一樣寬鬆。按社群客製化:讀書會裡用 ୨୧ 𝒩𝑜𝓋𝒶 ୨୧,電競伺服器裡用 𝗡𝗢𝗩𝗔。暱稱產生器會幫你處理字元對應。
欄位權限表
這就是完整地圖——Discord 裡每一個文字欄位、每一個接受什麼,以及為什麼。把這張表加進書籤,猜測就結束了。
| 欄位 | Markdown? | Unicode 字體? | Emoji? | 為什麼這樣設計 |
|---|---|---|---|---|
| 使用者名稱(@) | ✗ | ✗ 被拒絕 | ✗ | 身分金鑰。只有 a–z 0–9 _ .——必須可打字、獨一無二、無法冒充,供提及和交友邀請用 |
| 顯示名稱 | ✗ 照字面顯示 | ✓ | ✓ | 純呈現——在聊天裡出現,從不用於路由 |
| 伺服器暱稱 | ✗ 照字面顯示 | ✓ | ✓ | 各伺服器的呈現;在該伺服器裡蓋過你的顯示名稱 |
| 身分組名稱 | ✗ 照字面顯示 | ✓ | ✓ | 是標籤,不是 ID——獨立顯示的身分組會把它顯示在成員側欄 |
| 伺服器名稱 | ✗ 照字面顯示 | ✓ | ✓ | 品牌門面;邀請和探索會照原樣顯示 |
| 頻道名稱(文字) | ✗ | ✓ 原樣通過 | ✓ | 為了像網址般的一致性,會被轉小寫、加連字號——但只有普通的 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…」,或直接整個略過。
華麗的風格在舊裝置上可能顯示成 □□□□。當可讀性最重要時,就保持簡單的風格。
我的原則:裝飾大家用眼睛看的欄位,讓大家用手打的欄位保持簡單。顯示名稱和分類標題?盡量裝飾——粗體、小型大寫和輕量符號幾乎到處都好讀。一個成員每天搜尋、人潮很多的文字頻道,一個管理員一直 ping 的身分組,一個你想被找到的伺服器名稱?那些就保持簡單或接近簡單。還有,名字裡完全別碰 Zalgo——許多大型伺服器會自動管理它,而且它是最容易破壞顯示的風格。
Discord 鎖住鑰匙,好讓戲服可以是任何樣子。