Cập nhật lần cuối:

Giới hạn ký tự Discord: Tin nhắn, Embed và lệnh Bot

13 phút đọc

Trả lời nhanh: Discord hỗ trợ đầy đủ ký tự Unicode trong tin nhắn trên mọi gói - không cần Nitro. Nitro chỉ nâng giới hạn độ dài tin nhắn từ 2.000 lên 4.000 ký tự (Nitro Basic vẫn là 2.000) và mở khóa emoji tùy chỉnh dùng chéo máy chủ.

Discord ra mắt năm 2015 như một công cụ chat thoại cho game thủ và từ đó đã phát triển thành một trong những nền tảng mạng xã hội dành cho lập trình viên, nhà giáo dục và doanh nghiệp. Nắm rõ giới hạn ký tự của nó là điều cần thiết cho giao tiếp rõ ràng và phát triển bot hiệu quả.

Tổng quan giới hạn ký tự Discord

Phần tửGiới hạn ký tựGhi chú
Tin nhắn thường2.000Người dùng miễn phí và Nitro Basic
Tin nhắn Nitro4.000Chỉ dành cho thuê bao Nitro đầy đủ
Chủ đề kênh1.024Hiển thị ở đầu kênh
Tên kênh100Chỉ chữ thường, dấu gạch ngang và số
Tên máy chủ100Có thể chỉnh sửa trong cài đặt máy chủ
Biệt danh32Cài đặt theo từng máy chủ
Tên người dùng32Tên hiển thị toàn cầu
Giới thiệu bản thân190Tiểu sử hồ sơ
Trạng thái tùy chỉnh128Emoji + văn bản
Tổng Embed6.000Tổng tất cả các trường embed
Tiêu đề Embed256Tiêu đề embed
Mô tả Embed4.096Nội dung chính của embed
Tên trường Embed256Mỗi trường
Giá trị trường Embed1.024Mỗi trường
Chân trang Embed2.048Văn bản ở cuối embed
Tên tác giả Embed256Văn bản ở đầu embed
Tin nhắn Webhook2.000Trường nội dung
Mô tả lệnh Slash100Văn bản trợ giúp lệnh
Đầu vào Modal4.000Thành phần TextInput

Ngôn ngữ ảnh hưởng mật độ thông tin như thế nào

Discord đếm ký tự, không phải byte. Sự khác biệt này quan trọng vì các ngôn ngữ khác nhau chứa lượng thông tin rất khác nhau trong cùng một số ký tự.

Trong tiếng Anh, 2.000 ký tự tương đương khoảng 300–400 từ - khoảng nửa trang A4. Trong tiếng Nhật, cùng 2.000 ký tự truyền tải lượng thông tin tương đương 1.200–1.500 từ tiếng Anh, vì một ký tự kanji thường mang ý nghĩa của cả một từ tiếng Anh. Trên thực tế, người nói tiếng Nhật có thể chứa gấp ba đến bốn lần lượng thông tin trong cùng giới hạn 2.000 ký tự.

Khoảng cách này có hậu quả thực tế. Người nói tiếng Anh có khả năng chạm giới hạn cao hơn nhiều trong các cuộc thảo luận kỹ thuật, trong khi người nói tiếng Nhật hiếm khi cảm thấy bị hạn chế. Hiểu sự khác biệt giữa ký tự và byte đặc biệt hữu ích nếu bạn quản lý một máy chủ đa ngôn ngữ.

Tại sao 2.000 ký tự? Câu chuyện kỹ thuật

Lựa chọn 2.000 ký tự của Discord làm giới hạn mặc định phản ánh nhiều quyết định thiết kế chồng chéo.

Thứ nhất, có triết lý thiết kế hội thoại. Chat thời gian thực hoạt động tốt nhất dưới dạng chuỗi trao đổi ngắn, không phải độc thoại dài. So với giới hạn 512 byte của IRC hay thiết kế tin nhắn ban đầu của Slack, 2.000 ký tự là sự cân bằng có chủ đích - đủ dài để giải thích một quan điểm, đủ ngắn để giữ cuộc trò chuyện tiếp diễn. Nghiên cứu UX chat cho thấy tin nhắn mất hơn 10 giây để đọc khiến sự chú ý của người nhận giảm sút, và 2.000 ký tự tiếng Anh (khoảng 300–400 từ) mất khoảng 8–10 giây để đọc ở tốc độ trung bình.

Thứ hai, có tối ưu payload WebSocket. Discord truyền tin nhắn theo thời gian thực qua kết nối WebSocket. Trên các máy chủ có hàng chục nghìn người dùng đồng thời, kích thước dữ liệu mỗi tin nhắn ảnh hưởng trực tiếp đến tải mạng. Trong UTF-8, một tin nhắn tiếng Anh 2.000 ký tự khoảng 2 KB, trong khi tin nhắn tiếng Nhật 2.000 ký tự có thể đạt khoảng 6 KB. Cả hai đều nằm thoải mái trong giới hạn khung WebSocket thông thường (64 KB–1 MB trong hầu hết các triển khai), tránh chi phí phân mảnh. Payload tin nhắn thực tế cũng bao gồm metadata (ID người gửi, dấu thời gian, thông tin tệp đính kèm, v.v.), nên cho phép riêng nội dung tin nhắn tiêu thụ hàng chục kilobyte là không thực tế.

Thứ ba, có hiệu quả cơ sở dữ liệu. Discord sử dụng ScyllaDB (cơ sở dữ liệu phân tán tương thích Cassandra) để lưu trữ tin nhắn, xử lý hàng tỷ tin nhắn mỗi ngày. Mỗi tin nhắn được gán một ID Snowflake 64-bit mã hóa dấu thời gian để sắp xếp theo thứ tự thời gian. Giới hạn độ dài tin nhắn giữ kích thước dữ liệu mỗi phân vùng có thể dự đoán được và ngăn ngừa điểm nóng. Nếu tin nhắn không giới hạn độ dài, một tin nhắn quá lớn có thể làm phình phân vùng và giảm hiệu suất đọc/ghi cho mọi tin nhắn khác trong cùng kênh.

Thứ tư, có hiệu suất render phía client. Ứng dụng desktop của Discord chạy trên Electron và sử dụng cuộn ảo (chỉ render các tin nhắn hiển thị trên màn hình trong DOM) cho nhật ký chat. Khi độ dài tin nhắn có thể dự đoán, việc ước tính chiều cao mỗi tin nhắn trở nên đơn giản, giúp tính toán vị trí cuộn và thao tác nhảy đến tin nhắn mượt mà.

Trường hợp biên số ký tự

Bộ đếm ký tự của Discord hoạt động theo cách có thể khiến bạn bất ngờ. Biết những điểm đặc biệt này giúp tránh lỗi "tin nhắn quá dài" khó chịu khi bạn nghĩ mình vẫn nằm trong giới hạn.

Phần tửBạn thấy gìSố ký tự thực tế
Emoji tiêu chuẩn😀 (trông như 1 ký tự)1–2 ký tự (Code point Unicode)
Emoji tùy chỉnh:emoji_name:~20–40 ký tự (định dạng <:name:id>)
Emoji động:emoji_name:~21–41 ký tự (định dạng <a:name:id>)
Đề cập người dùng@Username~22 ký tự (định dạng <@userID>)
Đề cập vai trò@RoleName~22 ký tự (định dạng <@&roleID>)
Liên kết kênh#channel-name~21 ký tự (định dạng <#channelID>)
URLLiên kết có thể nhấpToàn bộ độ dài URL được tính nguyên trạng
Markdownvăn bản in đậmBao gồm ký tự cú pháp (**bold** = 8 ký tự)
Khối mãMã được định dạngBao gồm dấu backtick và định danh ngôn ngữ

Emoji tùy chỉnh là bất ngờ lớn nhất. Một emoji riêng của máy chủ được lưu trữ nội bộ dưới dạng như <:emoji_name:123456789>, tiêu thụ hơn 20 ký tự cho thứ trông như một biểu tượng duy nhất. Sử dụng nhiều emoji tùy chỉnh có thể nhanh chóng ngốn hết ngân sách ký tự của bạn.

Đề cập hoạt động tương tự - mỗi đề cập lưu trữ đầy đủ ID người dùng hoặc vai trò bên trong. Đề cập 10 người tốn khoảng 220 ký tự, để lại ít chỗ hơn đáng kể cho tin nhắn thực tế của bạn.

Một trường hợp biên thường bị bỏ qua liên quan đến ký tự có độ rộng bằng không và chuỗi kết hợp. Zero-Width Joiner (ZWJ, U+200D) không hiển thị trên màn hình nhưng được tính là một ký tự. Emoji gia đình như 👨‍👩‍👧‍👦 được tạo bằng cách nối bốn emoji riêng lẻ với ký tự ZWJ, nên thứ trông như một biểu tượng duy nhất thực tế tiêu thụ 7 ký tự (4 emoji + 3 ZWJ). Emoji có tông da (ví dụ: 👋🏽) tương tự tốn 2 ký tự - emoji cơ sở cộng với bộ sửa đổi. Hiểu cách đếm ký tự emoji và Unicode hoạt động giúp bạn quản lý ngân sách ký tự chính xác.

Cú pháp Markdown là một kẻ tiêu thụ ký tự thầm lặng khác. In đậm (**text**) thêm 4 ký tự đánh dấu, gạch ngang (~~text~~) thêm 4, và khối mã cần ít nhất 8 ký tự cho phần mở ```lang\n và đóng \n```. Trong tin nhắn được định dạng nhiều, ngân sách ký tự hiệu quả cho nội dung thực tế có thể giảm xuống 1.600–1.800 ký tự.

Dùng ký tự Unicode có cần Nitro không?

Không cần. Discord chấp nhận toàn bộ ký tự Unicode trong tin nhắn trên mọi gói, kể cả gói miễn phí. Tiếng Việt có dấu, chữ Hán (漢字), chữ Kirin (Привет), ký hiệu toán học (∑ ∫ √) và emoji Unicode tiêu chuẩn (😀 🎉) đều dùng được mà không phải trả phí. Danh sách đặc quyền chính thức của Nitro cũng xác nhận điều này: mục duy nhất liên quan đến văn bản là nâng giới hạn tin nhắn từ 2.000 lên 4.000 ký tự - không có điều khoản nào hạn chế việc dùng Unicode.

Điểm dễ nhầm lẫn là sự khác biệt giữa emoji tùy chỉnh và emoji Unicode. Emoji Unicode tiêu chuẩn nhập từ bàn phím emoji của hệ điều hành dùng được ở mọi nơi với tài khoản miễn phí; còn emoji tùy chỉnh được tải lên từng máy chủ (lưu nội bộ dưới dạng <:tên:ID>) muốn dùng ở máy chủ khác thì cần gói trả phí từ Nitro Basic trở lên. Nói cách khác, chỉ cần bạn dùng chữ viết, ký hiệu và emoji tiêu chuẩn, gói miễn phí không đặt ra bất kỳ hạn chế Unicode nào - ràng buộc thực tế duy nhất là giới hạn 2.000 ký tự (cách emoji và chuỗi kết hợp tiêu thụ nhiều ký tự đã nêu ở phần trên). Xem thêm kiến thức cơ bản về Unicode để hiểu rõ cách đếm này.

Nitro vs. Miễn phí: Bạn thực sự nhận được gì

Discord Nitro tăng gấp đôi giới hạn tin nhắn từ 2.000 lên 4.000 ký tự. Tuy nhiên, Nitro Basic không tăng giới hạn ký tự - vẫn giữ ở 2.000.

Tính năngMiễn phíNitro BasicNitro
Độ dài tin nhắn2.0002.0004.000
Tải tệp lên10 MB50 MB500 MB
Sử dụng Emoji tùy chỉnhChỉ máy chủ hiện tạiMọi nơiMọi nơi

Giới hạn 4.000 ký tự có giá trị nhất cho người dùng thảo luận kỹ thuật hoặc review code trên Discord. Đoạn mã tiêu thụ ký tự nhanh chóng, nên phần dư thêm tạo ra sự khác biệt thực sự. Đối với chat hàng ngày, 2.000 ký tự là quá đủ.

Một điểm quan trọng cần lưu ý: mở rộng 4.000 ký tự của Nitro là đặc quyền phía người gửi. Người nhận dùng gói miễn phí vẫn có thể xem toàn bộ tin nhắn 4.000 ký tự. Tuy nhiên, nếu bạn hủy Nitro, bạn sẽ không thể chỉnh sửa các tin nhắn cũ vượt quá 2.000 ký tự trừ khi rút ngắn chúng trước. Tránh phụ thuộc vào giới hạn mở rộng cho nội dung dài quan trọng - thay vào đó hãy sử dụng embed hoặc thread cho bất cứ thứ gì cần tồn tại bất kể trạng thái đăng ký của bạn.

Viết tin nhắn hiệu quả

Trong khi 2.000 ký tự là đủ cho chat hàng ngày, những giải thích hoặc thảo luận dài hơn cần một chút lên kế hoạch. Hãy ghi nhớ những nguyên tắc sau:

  1. Đi thẳng vào vấn đề. Dù đó là câu hỏi, yêu cầu hay cập nhật, hãy nêu mục đích tin nhắn ngay dòng đầu tiên để người đọc biết ngay điều gì đang được hỏi.
  2. Sử dụng định dạng Markdown. Discord hỗ trợ in đậm (**text**), in nghiêng (*text*) và khối mã (`code`). Định dạng giúp tin nhắn dễ đọc lướt hơn nhiều. Hãy nhớ rằng ký tự cú pháp Markdown được tính vào giới hạn.
  3. Chuyển thảo luận dài sang thread. Thread giữ dòng thời gian kênh chính sạch sẽ và cho phép các cuộc trò chuyện phụ phát triển mà không làm gián đoạn luồng.
  4. Sử dụng danh sách gạch đầu dòng. Dấu gạch ngang (-) hoặc dấu sao (*) tạo danh sách dễ đọc lướt hơn nhiều so với đoạn văn dày đặc.

Chia tin nhắn dài hiệu quả

Khi bạn cần vượt quá 2.000 ký tự, một vài chiến lược chia nhỏ giúp tin nhắn của bạn dễ đọc:

Giới hạn tin nhắn Bot và Webhook

Nếu bạn đang xây dựng Discord bot, bạn cần biết cả giới hạn tin nhắn thường và embed. Vượt quá chúng trả về lỗi 400 Bad Request, tương tự như khi bạn gặp ràng buộc độ dài phản hồi API.

Giới hạnTối đaChi tiết chính
Nội dung tin nhắn bot2.000 ký tựGiới hạn 4.000 ký tự của Nitro không áp dụng cho bot
Nội dung webhook2.000 ký tựTên webhook: 1–80 ký tự
Tổng embed6.000 ký tựTổng tất cả các trường trong tất cả embed
Embed mỗi tin nhắn10Giới hạn 6.000 ký tự áp dụng cho tất cả embed
Trường mỗi embed25Mỗi embed riêng lẻ
Giới hạn tốc độ API5 yêu cầu/5 giâyMỗi kênh (chia sẻ giữa các bot)
Phản hồi tương tác2.000 ký tựTrả lời lệnh slash

Chi tiết quan trọng cho lập trình viên bot: Mở rộng 4.000 ký tự của Nitro không áp dụng cho tin nhắn bot. Trường nội dung của bot luôn bị giới hạn ở 2.000 ký tự. Đối với tập dữ liệu lớn, hãy sử dụng embed hoặc triển khai phân trang với nút tương tác.

Giới hạn 6.000 ký tự embed là tổng của tất cả các trường trên tất cả embed đính kèm vào một tin nhắn duy nhất. Ví dụ, nếu bạn đính kèm 3 embed, tổng kết hợp của mọi tiêu đề, mô tả, tên trường, giá trị trường, chân trang và tên tác giả trên cả ba phải dưới 6.000 ký tự. Các embed riêng lẻ có thể nằm trong giới hạn trường riêng nhưng vẫn bị từ chối nếu tổng vượt quá - luôn tính tổng trước khi gửi.

Tin nhắn webhook chia sẻ cùng giới hạn nội dung 2.000 ký tự nhưng có thể đính kèm tối đa 10 embed. Khi chuyển thông báo GitHub hoặc kết quả CI/CD vào Discord, hãy giữ trường nội dung ngắn và đặt chi tiết trong embed. Webhook có giới hạn tốc độ riêng (30 yêu cầu/60 giây) so với tài khoản bot, nên các pipeline thông báo tần suất cao nên triển khai hàng đợi để tránh chạm trần.

Một chi tiết thường bị bỏ qua là chỉnh sửa tin nhắn tuân theo cùng giới hạn ký tự. Khi bot chỉnh sửa tin nhắn đã gửi trước đó, giới hạn 2.000 ký tự vẫn áp dụng. Phản hồi tương tác (lệnh slash, callback nút) cũng bị giới hạn ở 2.000 ký tự, ngay cả khi sử dụng phản hồi trì hoãn được chỉnh sửa sau. Đối với bot xử lý nhiều dữ liệu, kết hợp nội dung và embed cho bạn tối đa thực tế 8.000 ký tự mỗi tin nhắn (2.000 nội dung + 6.000 embed).

Khi vượt quá 2.000 ký tự - chọn cách gửi
  1. Đếm số ký tự thực tế trước khi gửi Một emoji tùy chỉnh tốn 20–40 ký tự, một lần đề cập khoảng 22 ký tự, và riêng cặp dấu ** của chữ in đậm đã là 4 ký tự. Độ dài nhìn thấy trên màn hình không trùng với số ký tự được tính.
  2. Đã vượt quá 2.000 ký tự
  3. Người gửi có đăng ký Nitro không Có Nitro thì gửi thẳng tới 4.000 ký tự. Nhưng nếu sau này hủy Nitro, bạn sẽ không chỉnh sửa được tin nhắn dài đó trừ khi rút ngắn xuống dưới 2.000 ký tự. Nitro Basic vẫn giữ mức 2.000 ký tự.
  4. Gói miễn phí, Nitro Basic, hoặc bot / webhook
  5. Trần cố định ở 2.000 ký tự Trường nội dung của bot và webhook không được hưởng mở rộng của Nitro, luôn dừng ở 2.000 ký tự, và vượt quá thì yêu cầu bị trả về lỗi 400 Bad Request. Từ đây đường đi chia theo việc ai gửi tin nhắn.
  6. Tuyến A - người gửi thủ công
  7. Chia tại ranh giới logic và đánh số "(1/3)" Tin nhắn đầu tiên nêu kết luận và điểm chính, các tin sau bổ sung chi tiết. Tách mã nguồn khỏi phần giải thích, và chuyển thảo luận dài sang thread để dòng thời gian của kênh chính không bị nghẽn.
  8. Tuyến B - bot hoặc webhook gửi
  9. Nội dung chỉ để tóm tắt, chi tiết đưa vào embed Embed có trần 6.000 ký tự tính tổng mọi trường, tối đa 10 embed mỗi tin nhắn. Cộng lại, nội dung 2.000 ký tự + embed 6.000 ký tự cho bạn tối đa thực tế 8.000 ký tự.

Nhánh này chỉ dùng những con số có trong bảng giới hạn ở trên và bảng bot/webhook. Ba đường ra là "gửi thẳng bằng Nitro", "người chia thành nhiều tin nhắn" và "bot đưa vào embed"; ở tuyến nào thì trường nội dung của một tin nhắn cũng không vượt quá 2.000 ký tự.

Lỗi phổ biến cần tránh

Tận dụng giới hạn ký tự trong quản lý server

Đối với quản trị viên máy chủ, giới hạn ký tự là công cụ thực tế để định hình cấu trúc kênh và quy tắc cộng đồng.

Kỹ thuật nâng cao

Discord so sánh với các nền tảng khác

Nền tảngGiới hạn tin nhắnHiển thị phong phúAPI BotĐặc điểm chính
Discord (Miễn phí)2.000 ký tự6.000 ký tự (Embed)Mở rộngHỗ trợ Markdown, mở rộng qua embed
Discord (Nitro)4.000 ký tự6.000 ký tự (Embed)Mở rộngTăng gấp đôi với gói trả phí
Slack40.000 ký tựBlock KitMở rộngHướng doanh nghiệp, chấp nhận nội dung dài
LINE10.000 ký tựFlex MessageHạn chếƯu tiên di động, sử dụng cá nhân
X (trước đây là Twitter)280 ký tự (miễn phí)Không cóHạn chếTập trung nội dung ngắn, mở rộng với Premium
Telegram4.096 ký tựHTML/MarkdownMở rộngAPI Bot mạnh mẽ, nhóm tới 200K thành viên
Microsoft Teams28.000 ký tựAdaptive CardsMở rộngTích hợp Office 365, hướng doanh nghiệp

Giới hạn 2.000 ký tự của Discord trông khiêm tốn so với 40.000 của Slack hay 28.000 của Teams, nhưng các nền tảng phục vụ mục đích khác nhau. Slack và Teams được xây dựng cho giao tiếp doanh nghiệp thường giống tài liệu dài, trong khi Discord ưu tiên nhịp độ hội thoại. Giới hạn 4.096 ký tự của Telegram gấp khoảng đôi gói miễn phí của Discord và gần bằng Nitro.

Sức mạnh thực sự của Discord nằm ở hệ thống embed. Giống Block Kit của Slack hay Flex Message của LINE, embed cho phép bạn trình bày dữ liệu phong phú, có cấu trúc - nhưng embed của Discord cung cấp tới 10 mỗi tin nhắn với dung lượng kết hợp 6.000 ký tự, mang lại cho lập trình viên bot lớp trình bày linh hoạt nhất trong bất kỳ nền tảng chat nào. Đánh giá khả năng biểu đạt của nền tảng chỉ bằng giới hạn tin nhắn văn bản thuần là bỏ lỡ bức tranh lớn hơn.

Kết luận

Giới hạn 2.000 ký tự tin nhắn Discord (4.000 với Nitro) đáp ứng thoải mái hầu hết cuộc trò chuyện. Tuy nhiên, emoji tùy chỉnh (20–40 ký tự mỗi cái), đề cập (~22 ký tự mỗi cái) và cú pháp Markdown (4+ ký tự cho in đậm, 8+ cho khối mã) tiêu thụ nhiều ký tự hơn vẻ ngoài, nên giới hạn hiệu quả có thể ngắn hơn đáng kể. Zero-width joiner trong emoji ghép thêm chi phí ẩn. Đối với lập trình viên bot, các con số chính cần nhớ là trần 6.000 ký tự embed (tổng trên tất cả trường và embed), việc mở rộng Nitro không áp dụng cho bot, và giới hạn tốc độ (5 yêu cầu mỗi 5 giây mỗi kênh). Sử dụng Bộ đếm ký tự để kiểm tra độ dài tin nhắn và embed trước khi đăng.

Câu hỏi thường gặp

Dùng ký tự Unicode trên Discord có cần Nitro không?
Không cần. Mọi gói, kể cả gói miễn phí, đều dùng được đầy đủ ký tự CJK như tiếng Nhật, chữ có dấu, ký hiệu và emoji Unicode chuẩn. Nitro chỉ nâng giới hạn tin nhắn từ 2.000 ký tự lên 4.000 ký tự và cho phép dùng emoji tùy chỉnh ở các server khác.
Tin nhắn Discord gửi được tối đa bao nhiêu ký tự?
Người dùng miễn phí và Nitro Basic là 2.000 ký tự, người đăng ký Nitro đầy đủ là 4.000 ký tự (cả hai đều được ghi trong tài liệu chính thức của Discord). Tin nhắn do Bot và Webhook gửi luôn giới hạn ở 2.000 ký tự, bất kể có Nitro hay không.
Trạng thái tùy chỉnh của Discord tối đa bao nhiêu ký tự?
Tính đến năm 2026 là 128 code point Unicode (đây là con số do cộng đồng đo được, tài liệu trợ giúp chính thức không nêu số liệu). Emoji được tạo từ nhiều code point như chuỗi ZWJ hay cờ quốc gia sẽ chiếm nhiều suất trong 128 suất đó.
Có Nitro thì giới hạn của trạng thái tùy chỉnh và phần giới thiệu có tăng không?
Không tăng. Nitro chỉ nới giới hạn tin nhắn (2.000 lên 4.000 ký tự); trạng thái tùy chỉnh vẫn là 128 code point và phần giới thiệu (About Me) vẫn là 190 ký tự, tính đến năm 2026.

Chia sẻ bài viết này