Skip to main content
Hướng dẫn
Hướng dẫnRolesBasics

Vai trò và quyền trên Discord: Vì sao bot của bạn không thể gán vai trò đó

Thứ bậc vai trò là lý do phổ biến nhất khiến một thứ gì đó trên Discord không hoạt động. Hiểu nó một lần là bạn tiết kiệm được hàng giờ khắc phục sự cố.

Đăng ngày bởi AlphaCloud5 phút đọc

Có một tình huống mà chủ máy chủ nào sớm muộn cũng gặp: một con bot lẽ ra phải gán một vai trò nhưng lại không làm. Bot có quyền Quản trị viên. Cài đặt đã được lưu. Vậy mà chẳng có gì xảy ra.

Nguyên nhân gần như lúc nào cũng giống nhau, và nó chẳng liên quan gì đến quyền hạn.

Hai hệ thống, không phải một

Discord quyết định ai đó có được làm gì hay không qua hai bước riêng biệt:

  1. Quyền. Vai trò này có được quản lý vai trò không?
  2. Vị trí. Vai trò này có nằm đủ cao để chạm đến vai trò mục tiêu không?

Hầu hết mọi người chỉ biết bước thứ nhất. Bước thứ hai mới là chỗ thất bại.

Quy tắc trong một câu

Một thành viên, kể cả bot, chỉ có thể trao và gỡ những vai trò nằm dưới vai trò cao nhất của chính mình. Và chỉ có thể kiểm duyệt những thành viên có vai trò cao nhất nằm dưới vai trò của mình.

Điều này áp dụng ngay cả với quyền Quản trị viên. Quản trị viên vượt qua các quyền, không vượt qua thứ bậc. Một con bot có quyền Quản trị viên nhưng vai trò nằm ở cuối danh sách về cơ bản chẳng làm được gì.

Một ví dụ

Danh sách vai trò của bạn trông như thế này, từ trên xuống dưới:

Owner
Administrator
Moderator
AlphaCloud          <- the bot's role
Verified
Member

Những gì bot làm được:

  • Trao và gỡ Verified và Member
  • Kiểm duyệt những thành viên có vai trò cao nhất là Verified hoặc Member

Những gì bot không làm được:

  • Trao Moderator, vì vai trò đó nằm trên nó
  • Đuổi, cấm hoặc đổi tên một người kiểm duyệt
  • Động đến một quản trị viên

Nếu bạn muốn bot có thể trao vai trò người kiểm duyệt, bạn phải kéo vai trò của bot lên trên Moderator. Không phải theo chiều ngược lại.

Lời khuyên thực tế

Đặt vai trò của bot ngay dưới vai trò đội ngũ cao nhất của bạn. Như thế này:

Owner
Administrator
AlphaCloud          <- here
Moderator
Verified
Member

Như vậy bot quản lý được mọi thứ bên dưới ban lãnh đạo mà không thể động đến chính ban lãnh đạo. Gần như lúc nào đó cũng đúng là điều bạn muốn.

Bạn thay đổi thứ tự trong Cài đặt máy chủ, Vai trò bằng cách kéo thả.

Ba trường hợp đặc biệt vẫn sẽ không hoạt động

Ngay cả với thứ bậc hoàn hảo, có ba điều Discord không bao giờ cho phép bot làm:

Đổi tên hoặc kiểm duyệt chủ máy chủ. Chủ máy chủ nằm ngoài thứ bậc. Không vai trò hay quyền nào thay đổi được điều đó.

Chỉnh sửa vai trò ở cùng vị trí. Hai vai trò ở cùng độ cao không thể động đến nhau. Phải thực sự nằm trên, không phải ngang hàng.

Trao vai trò @everyone. Mọi người tự động có nó, không thể gán.

Quyền kênh thắng quyền máy chủ

Trường hợp phổ biến thứ hai: theo vai trò thì bot được gửi tin nhắn, nhưng lại không gửi ở đúng một kênh.

Discord cho phép đặt ngoại lệ theo từng kênh cho quyền máy chủ. Nếu quyền Gửi tin nhắn bị từ chối rõ ràng trong một kênh đối với @everyone hoặc một trong các vai trò của bot, điều đó sẽ thắng, bất kể vai trò máy chủ nói gì.

Bạn có thể kiểm tra trực tiếp: cài đặt kênh, Quyền, rồi chọn bot ở phía trên trong Xem quyền của. Khi đó Discord cho bạn thấy chính xác bot được làm gì trong kênh đó.

Quyền nào cho việc gì

Nếu bạn không muốn trao cho bot toàn quyền Quản trị viên, đây là danh sách thực tế:

Nhiệm vụ Quyền
Gán vai trò Quản lý vai trò
Ticket, kênh tạm thời Quản lý kênh
Xóa spam Quản lý tin nhắn
Tắt tiếng Hạn chế thành viên
Loại bỏ Đuổi thành viên, Cấm thành viên
Chuyển vào kênh AFK Di chuyển thành viên
Thêm tiền tố biệt danh Quản lý biệt danh
Biết ai đã kích hoạt một hành động Xem nhật ký kiểm tra

Quản trị viên vẫn là lựa chọn thực dụng nếu bạn dùng nhiều tính năng. Không phải vì nó an toàn hơn, mà vì nếu không thì mỗi tính năng mới lại khiến bạn đi tìm đúng một quyền còn thiếu. Dù thế nào, thứ bậc vẫn là đòn bẩy quan trọng hơn.

Phiên bản ngắn gọn để khắc phục sự cố

Khi có gì đó không hoạt động, hãy đi qua bốn câu hỏi này theo thứ tự:

  1. Vai trò của bot có nằm trên vai trò liên quan không?
  2. Vai trò của bot có nằm trên thành viên liên quan không?
  3. Bot có quyền tương ứng ở cấp máy chủ không?
  4. Quyền đó có bị từ chối rõ ràng trong kênh này không?

Chín trên mười trường hợp là câu hỏi 1 hoặc 2.

Bài viết khác