Discord hiện đang dần triển khai khả năng gửi tin nhắn có màu trong các khối mã. Nó sử dụng mã màu ANSI, vì vậy nếu bạn đã thử in văn bản có màu trong thiết bị đầu cuối hoặc bảng điều khiển của mình bằng Python hoặc các ngôn ngữ khác thì bạn sẽ thấy dễ dàng.
Để có thể gửi văn bản có màu, bạn cần sử dụng ngôn ngữ ansi
cho khối mã của mình và cung cấp tiền tố của định dạng này trước khi viết văn bản:
\u001b[{format};{color}m
\u001b
là kí hiệu unicode cho ESCAPE/ESC, có nghĩa là chỉ có thể dùng bởi bot của bạn (xem http://www.unicode-symbol.com/u/001B.html). Nếu bạn muốn gửi văn bản màu mà không sử dụng bot của mình, bạn cần sao chép ký tự từ trang web hoặc ở đây.
�[{format};{color}m
Sau khi viết xong, bây giờ bạn có thể nhập văn bản bạn muốn tô màu. Nếu bạn muốn đặt lại màu trở lại bình thường, thì bạn cần sử dụng hậu tố \u001b[0m
Đây là danh sách các giá trị bạn có thể sử dụng để thay thế {format}
- 0: Bình thường
- 1: In đậm
- 4: Gạch dưới
Đây là danh sách các giá trị bạn có thể sử dụng để thay thế {color}
:
- 30: Gray
- 31: Red
- 32: Green
- 33: Yellow
- 34: Blue
- 35: Pink
- 36: Cyan
- 37: White
- 40: Firefly dark blue
- 41: Orange
- 42: Marble blue
- 43: Greyish turquoise
- 44: Gray
- 45: Indigo
- 46: Light gray
- 47: White
Hãy lấy một ví dụ, tôi muốn có một văn bản màu xanh đậm (Green) với nền màu xanh đậm (Firefly dark blue).
Tôi chỉ đơn giản sử dụng \u001b[0;40m
(màu nền) và \u001b[1;32m
(màu chữ) làm tiền tố. Lưu ý thứ tự là quan trọng, đầu tiên bạn cho màu nền sau đó mới đến màu chữ.
Ngoài ra, bạn cũng có thể trực tiếp kết hợp chúng thành một tiền tố duy nhất như sau: \u001b[1;40;32m
và bạn cũng có thể sử dụng nhiều giá trị. Ví dụ như \u001b[1;40;4;32m
sẽ gạch dưới văn bản, làm cho nó in đậm, màu chữ xanh lục và có nền màu xanh lam đậm.
Kết quả:
Tin nhắn thô (cần gửi bởi bot):
```ansi
\u001b[0;40m\u001b[1;32mThat's some cool formatted text right?\u001b[0m
hoặc
\u001b[1;40;32mThat's some cool formatted text right?\u001b[0m
```
Tin nhắn bạn có thể sao chép và thử luôn :3
```ansi
�[0;40m�[1;32mThat's some cool formatted text right?�[0m
hoặc
�[1;40;32mThat's some cool formatted text right?�[0m
```
Màu sắc và các định dạng khác nhau được hỗ trợ trên Discord được hiển thị ở đây
Lưu ý: Tất cả phiên bản trên máy tính (bao gồm web) được hỗ trợ đầy đủ. Vì tính năng markdown trên thiết bị di động còn ngố nên ANSI cũng không được hỗ trợ trên thiết bị di động. Tham khảo gist này để biết các phương pháp đánh dấu cú pháp khác.