Lệnh slash (/help) cho bạn menu, tự động hoàn thành và các tùy chọn được kiểm tra hợp lệ; lệnh prefix ($help) là một tin nhắn thông thường, gõ nhanh hơn và quen thuộc với bất kỳ ai đã dùng Discord trước năm 2022. Bạn không cần chọn một trong hai: Noxyr trả lời mọi lệnh theo cả hai cách, với prefix mặc định là $ mà mỗi máy chủ có thể đổi. Dưới đây là điểm khác biệt thực sự giữa hai loại và khi nào mỗi loại có lợi thế.
Lịch sử ngắn gọn
Trong nhiều năm, mọi bot đều dùng prefix: !play, ?ban, -help. Sau đó Discord giới thiệu lệnh slash và, vào năm 2022, yêu cầu các bot đã xác minh phải dùng chúng bằng cách loại bỏ quyền truy cập nội dung tin nhắn đối với đa số bot. Lệnh slash trở thành tiêu chuẩn, và một thế hệ người dùng không bao giờ học cách dùng prefix. Nhưng nhiều máy chủ vẫn thích gõ $help hơn là cuộn menu, và bàn phím điện thoại khiến menu slash khó thao tác, nên các bot hỗ trợ cả hai giúp mọi người đều hài lòng.
Lệnh slash làm tốt hơn ở những điểm nào
- Khám phá. Gõ
/và mọi lệnh sẽ hiện kèm mô tả. Không cần trang trợ giúp. - Kiểm tra dữ liệu. Tùy chọn kênh chỉ nhận kênh; tùy chọn số chỉ nhận số. Lỗi được phát hiện trước khi bot nhận được.
- Tự động hoàn thành. Tìm kiếm bài hát, sản phẩm hay danh sách phát khi đang gõ chỉ hoạt động với lệnh slash.
- Biểu mẫu. Biểu mẫu bật lên (modal) như
/quick catalog addhay hộp đề xuất chỉ có thể mở từ một tương tác slash. - Trả lời riêng tư. Một câu trả lời tạm thời (ephemeral), chỉ bạn thấy, là tính năng của lệnh slash.
Lệnh prefix làm tốt hơn ở những điểm nào
- Tốc độ.
$skipchỉ cần năm lần gõ phím. Không có menu, không phải chờ bộ chọn tải. - Mọi client, mọi ngữ cảnh. Một tin nhắn là một tin nhắn, dù trên chiếc điện thoại đời cũ nhất hay qua một cầu nối từ nền tảng khác.
- Thói quen. Thành viên lâu năm và nhân viên đã gõ lệnh
!suốt cả thập kỷ không muốn học lại. - Sao chép và dán. Một hướng dẫn cho nhân viên có thể ghi "chạy
$ticket close reason:spam" và mọi người có thể dán nguyên như vậy.
Noxyr làm cả hai như thế nào
Mỗi lệnh slash đều có một bản song sinh prefix cùng tên, cùng lệnh con và cùng tùy chọn. Noxyr phân tích tin nhắn thành đúng dạng mà lệnh slash sẽ tạo ra, rồi chạy cùng một đoạn mã, nên quyền và hành vi hoàn toàn giống nhau. Có vài quy tắc cần biết:
- Lệnh con đi theo tên:
$ticket close,$music settings,$referrals link. - Tùy chọn có dạng
name:value:$sticky set text:"Read the rules" delay:300. Dấu ngoặc kép giữ các từ có khoảng trắng ở cùng nhau. Các từ không có tên sẽ lần lượt điền vào các tùy chọn bắt buộc, nên$play never gonna give you uphoạt động ngay. - Đề cập hoặc tên đều được:
#channel,@role, một ID thô, hoặc tên thường của kênh hay vai trò. - Có và không: tùy chọn đúng/sai chấp nhận yes/no, on/off, true/false.
- Tệp: đính kèm một ảnh vào tin nhắn và nó sẽ điền vào tùy chọn tệp đính kèm.
- Trả lời riêng tư được gửi vào DM của bạn. Khi một lệnh chỉ cần trả lời bạn, câu trả lời sẽ được gửi vào DM kèm ghi chú về máy chủ nơi nó xuất phát, vì một tin nhắn thường không thể là tạm thời.
- Biểu mẫu chỉ dành cho slash. Nếu một lệnh mở biểu mẫu bật lên, phiên bản prefix sẽ bảo bạn chạy lệnh slash thay thế.
Đổi prefix
/prefix view hiển thị prefix hiện tại, /prefix set prefix:! đổi nó (từ một đến năm ký tự, không có khoảng trắng, nên !, ?, n! hay nx. đều được), và /prefix reset quay lại $. Prefix là riêng cho từng máy chủ, và custom bot của bạn dùng cùng prefix đó. Nếu một bot khác trên máy chủ đã dùng !, hãy chọn cái khác để hai bot không cùng trả lời một tin nhắn.
Máy chủ của bạn nên dùng cái nào?
Cả hai. Hướng dẫn thành viên mới dùng menu slash, vì nó tự hướng dẫn, và để nhân viên cùng thành viên thân thiết gõ lệnh prefix. Điều duy nhất cần thống nhất là tài liệu: hãy viết hướng dẫn nội bộ theo một phong cách để không ai phải tự hỏi liệu $ và / có hoạt động khác nhau hay không. Trên Noxyr thì không khác.
Câu hỏi thường gặp
Lệnh prefix có cần Message Content Intent không? Có, và Noxyr đã có quyền này. Nếu bạn chạy custom bot, intent đó là một trong hai intent bạn phải bật khi thiết lập.
Tôi có thể tắt lệnh prefix không? Hãy chọn một prefix ít người dùng nếu bạn muốn chúng ít xuất hiện; lệnh slash vẫn hoạt động bất kể.
Prefix có được chia sẻ giữa các máy chủ không? Không, mỗi máy chủ có prefix riêng.
Xem đầy đủ danh sách lệnh, hoặc thêm Noxyr và thử $help.