Discord Privileged Intents: Presence, Members và Message Content
Intent đặc quyền là ba gateway intent để lộ dữ liệu nhạy cảm: cập nhật trạng thái hoạt động, danh sách thành viên máy chủ và nội dung của tin nhắn. Bot phải bật từng intent trong Developer Portal, và khi vượt quá 100 máy chủ, bot còn phải được Discord xác minh và phê duyệt để tiếp tục dùng chúng.
Ba intent
- Presence: thành viên đang online, idle hay offline, cùng trạng thái hoạt động của họ.
- Server members: sự kiện thành viên tham gia và rời đi, cùng toàn bộ danh sách thành viên. Cần cho tin nhắn chào mừng, xác minh và auto role.
- Message content: nội dung văn bản thực sự, embed và tệp đính kèm của tin nhắn. Cần để đọc lệnh tiền tố và cho mọi thứ quét văn bản.
Nếu không có message content, bot vẫn nhận được các tin nhắn nhắc đến nó, tin nhắn riêng và tin nhắn của chính nó, cùng các tương tác như lệnh slash. Đây là lý do các bot hiện đại dựa vào lệnh slash.
Cách phê duyệt hoạt động
Với bot có dưới 100 máy chủ, bạn chỉ cần tick công tắc trên trang của bot trong Developer Portal. Khi bot đạt 100 máy chủ, Discord yêu cầu xác minh bot, và các intent đặc quyền khi đó cần được phê duyệt kèm lý do rõ ràng. Nếu không, bot sẽ mất chúng. Discord quyết định theo từng trường hợp, nên một lời giải thích rõ ràng về tính năng cần dữ liệu sẽ giúp ích.
Nếu một bot kết nối và yêu cầu một intent đặc quyền mà nó chưa bật, Discord sẽ đóng kết nối với lỗi 4014. Đây là nguyên nhân thường gặp khiến bot offline ngay sau khi được thiết lập. Xem giải thích về lỗi 4014.
Vì sao chủ máy chủ quan tâm
Các intent này là phần của bot chạm đến dữ liệu thành viên của bạn. Message content là điều đáng suy nghĩ nhất: một bot đọc tin nhắn có thể lọc spam và liên kết, nhưng cũng thấy mọi điều được nói ở nơi nó có quyền truy cập. Bạn có thể hạn chế điều đó bằng cách từ chối quyền View Channel của bot ở các khu vực riêng tư.
Điều này cũng ảnh hưởng đến độ tin cậy. Một bot mất một intent đã được phê duyệt có thể âm thầm ngừng chào mừng thành viên hoặc thi hành quy tắc.
Noxyr và intent đặc quyền
Với một bot tùy chỉnh của Noxyr dùng ứng dụng riêng của bạn, thiết lập yêu cầu bật Server Members Intent và Message Content Intent trong Developer Portal. Các tính năng của Noxyr dựa vào chúng gồm tin nhắn chào mừng, xác minh và chống spam. Đọc hướng dẫn đầy đủ về intent gateway đặc quyền, và xem ý tưởng rộng hơn trong gateway intents.
Kiểm tra trước khi cài bot
Hãy hỏi bot dùng những intent đặc quyền nào và để làm gì. Một bot nhạc hiếm khi cần dữ liệu presence, và một bot bình chọn hiếm khi cần đọc mọi tin nhắn. Nếu câu trả lời mơ hồ, hãy chọn bot khác.
Câu hỏi thường gặp
Những intent nào là đặc quyền?
Presence, server members và message content.
Vì sao bot của tôi ngắt kết nối với lỗi 4014?
Bot đã yêu cầu một intent đặc quyền chưa được bật trong Developer Portal. Hãy bật nó và khởi động lại bot.
Bot tùy chỉnh của Noxyr cần những intent nào?
Server Members Intent và Message Content Intent phải được bật cho ứng dụng riêng của bạn.