Quản trị Phân quyền Staff
Hướng dẫn chi tiết hệ thống phân quyền của bot và tính năng tùy biến quyền theo lệnh trong Booking Bot V2.
Hệ thống phân quyền của Booking Bot V2 có hai cơ chế: gán vai trò Discord vào quyền của bot, và tùy biến quyền riêng cho từng câu lệnh hoặc cả danh mục lệnh.
Lệnh b.mute / b.unmute dùng timeout nên cần quyền Discord Moderate Members. b.mute @User mặc định 1 phút khi bỏ trống thời gian. ID/mention sai được báo riêng; thành viên không ở server được báo không tìm thấy. Bot không timeout được chủ server, chính bot, người gọi lệnh, người có role ngang/cao hơn hoặc người Discord không cho phép timeout (ví dụ Administrator).
Bot cần Moderate Members ở máy chủ. Để trả lời trong thread, bot cần Send Messages in Threads. Nếu Discord trả Missing Access / Missing Permissions, kiểm tra quyền truy cập kênh, quyền của bot và thứ bậc role theo thông báo.
Thời gian mute nhận số nguyên dương kèm s / m / h / d, tối đa 28 ngày, ví dụ 10m, 1h, 28d. Sai định dạng, bằng 0 hoặc vượt giới hạn sẽ được báo lỗi trước khi thực hiện timeout.
1. Gán Quyền Hệ Thống (/setuprole)
Quyền hạn yêu cầu: Owner và quyền Administrator của Discord.
Gõ /setuprole để mở bảng Role và quyền lệnh. Ở mục Role quyền bot, mỗi quyền (Owner, Admin, Cash, Supporter, Player) có một danh sách chọn vai trò và luôn hiện các vai trò đang gán:
| Thao tác | Cách làm |
|---|---|
| Thêm vai trò vào nhóm quyền | Chọn thêm một hoặc nhiều vai trò trong danh sách của quyền đó |
| Gỡ vai trò khỏi nhóm quyền | Bỏ chọn vai trò trong danh sách |
| Xem phân quyền hiện tại | Mở bảng, vai trò đang gán được chọn sẵn |
Ví dụ: chọn @QuanTriVien cho quyền Admin, @KeToan cho quyền Cash, @DieuPhoi, @TroLy và @CSKH cho quyền Supporter, @GamerVIP cho quyền Player.
Khi quyền Owner đã có vai trò, bot không lưu danh sách Owner mà bạn không giữ vai trò nào trong đó, để bạn không tự khóa mình.
Hãy gán vai trò cho đủ cả 5 nhóm quyền. Nhóm nào chưa được gán thì bot chưa giới hạn được các lệnh thuộc nhóm đó.
2. Tùy Biến Quyền Theo Câu Lệnh & Danh Mục
Chủ máy chủ có thể đổi quyền của từng câu lệnh hoặc cả một danh mục trong bảng /setuprole tại hai mục Quyền lệnh và Quyền danh mục.
| Mục trong bảng | Thao tác | Cách làm |
|---|---|---|
| Quyền lệnh | Đặt quyền riêng cho một câu lệnh | Chọn danh mục, chọn lệnh, chọn loại quyền rồi chọn vai trò |
| Quyền lệnh | Bỏ quyền riêng, đưa câu lệnh về mặc định | Chọn lệnh, bấm Bỏ Tuỳ Chỉnh |
| Quyền danh mục | Đặt quyền cho mọi lệnh trong một danh mục | Chọn danh mục, chọn loại quyền rồi chọn vai trò |
| Quyền danh mục | Bỏ quyền của danh mục | Chọn danh mục, bấm Bỏ Tuỳ Chỉnh |
Các Loại Chính Sách Quyền
- Role Server: Chỉ định cụ thể một hoặc nhiều vai trò Discord của máy chủ (tối đa 25 vai trò / policy, loại trừ
@everyone). Bot khớp chính xác ID vai trò người dùng đang giữ, không áp dụng thứ bậc vai trò Discord. Quyền Administrator của Discord không tự động vượt qua nếu chính sách chỉ định vai trò máy chủ. - Role Bot: Cấp quyền theo 5 cấp bậc quyền bot (
Owner,Admin,Cash,Supporter,Player). Giữ nguyên quy tắc kế thừa: cấp cao hơn dùng được lệnh của cấp thấp hơn (Cashlà quyền độc lập). - Kết hợp: Cho phép thành viên có ít nhất một trong các Role Server đã chọn HOẶC có Role Bot tương ứng (logic OR).
- Everyone (Công khai): Cho phép tất cả mọi người trong máy chủ đều có thể sử dụng câu lệnh.
- Kế thừa (Bỏ tuỳ chỉnh): Xóa tùy chỉnh để câu lệnh dùng lại quyền của danh mục; nếu danh mục không có tùy chỉnh thì dùng quyền mặc định. (Kế thừa khác với Everyone: Everyone là mở công khai, Kế thừa là trả về quyền cha).
Thứ Tự Kiểm Tra Quyền
[1. Quyền riêng của lệnh]
↓ (nếu không có)
[2. Quyền của danh mục]
↓ (nếu không có)
[3. Quyền mặc định của lệnh]
↓ (nếu không có)
[4. Mọi thành viên (nếu lệnh công khai)]Cơ Chế An Toàn & Lưu Ý Kỹ Thuật
- Bảo vệ
/setuprole: Lệnh quản trị/setuproleluôn yêu cầu quyền Discord Administrator và quyền bot Owner (nếu đã thiết lập vai trò Owner); bot không nhận tùy biến để hạ quyền hay gỡ bỏ yêu cầu này. - Ngoại lệ tự phục vụ (Self-service): Các lệnh prefix tự book / donate (
b.book,b.donate,b.buk,b.dnt) là tính năng tự phục vụ cho mọi khách hàng nên luôn công khai, không bị ảnh hưởng khi tùy biến quyền staff của/bookhay/donate. - Kiểm tra khi thực thi (Runtime evaluator): Quyền được bot kiểm tra trực tiếp tại thời điểm nhận lệnh. Bot không tự động ẩn/hiện slash command trên giao diện Discord (do Discord quản lý bộ nhớ đệm lệnh).
- Xem trước và kiểm soát phiên bản (Draft & CAS Revision): Mỗi thay đổi đều qua bước xem trước Hiện tại ➔ Mới và lưu tạm trong 10 phút. Nếu quyền đã bị người khác thay đổi trong lúc bạn đang chỉnh sửa, bot sẽ cảnh báo xung đột và yêu cầu tải lại trước khi lưu.
Các danh mục: Booking, Economy, Information, Moderation, Settings, Shop, Social, Support, Utilities.
3. Lệnh Cần Thêm Quyền Discord
| Câu lệnh | Quyền Discord yêu cầu |
|---|---|
/setup, /setuprole, /setupplayerbadge | Administrator |
/feedback, /item, /luckybox, /renew | Administrator |
b.ban, b.unban | Ban Members |
b.mute, b.unmute | Mute Members |
/lock, /unlock | Manage Channels |
Khuyến nghị bảo mật: Chỉ gán quyền Cash cho nhân sự được chủ máy chủ tin tưởng, vì vai trò này cộng / trừ được tiền cọc và lương của mọi thành viên.