Phân quyền & Vai trò
Quy chuẩn phân quyền Discord và hệ thống vai trò quản trị trong Booking Bot V2.
Để Booking Bot V2 vận hành ổn định và thực hiện được các tác vụ tự động (như tạo phòng vé, tạo kênh log, gửi embed, quản lý tin nhắn), hệ thống yêu cầu hai lớp phân quyền độc lập:
- Quyền hạn Discord (Discord Permissions): Quyền mà ứng dụng Bot được cấp trong máy chủ Discord.
- Quyền hạn nghiệp vụ Bot (BotRole): Phân cấp vai trò cho các thành viên trong ban quản trị và nhân viên máy chủ.
1. Quyền Hạn Discord Của Bot
Khi mời bot hoặc cấu hình vai trò riêng cho bot trên máy chủ Discord, bot cần được bật tối thiểu các quyền sau:
| Quyền Discord | Mục đích sử dụng trong hệ thống |
|---|---|
| Administrator (Khuyên dùng) | Đảm bảo bot luôn thực hiện được toàn bộ tính năng mà không bị xung đột quyền kênh |
| Manage Channels | Tự động tạo và xóa phòng vé (Ticket), tạo kênh booking riêng, tạo category log |
| Manage Roles | Gán vai trò tự động khi thành viên nhận việc hoặc được duyệt hồ sơ Player |
| Send Messages & Embed Links | Gửi hóa đơn, panel đặt lịch, form xác nhận và thông báo hệ thống |
| Attach Files | Xuất hình ảnh hóa đơn bill, biểu đồ thống kê, QR Code thanh toán VietQR |
| Read Message History | Đọc nội dung trao đổi để quản lý phòng vé và theo dõi tương tác |
| Use External Emojis & Stickers | Hiển thị các icon hệ thống chuyên nghiệp trong tin nhắn embed |
| Manage Messages | Xóa tin nhắn tạm thời, ghim hóa đơn trong phòng chat |
Quy tắc phân cấp vai trò (Role Hierarchy): Vai trò của Bot trong danh sách Server Settings > Roles phải nằm ở vị trí cao hơn vai trò của Staff và Player. Nếu vai trò của bot nằm dưới, bot sẽ không thể quản lý hoặc chỉnh sửa quyền của các vai trò đó.
2. Hệ Thống Cấp Bậc Quyền Hạn Bot (BotRole)
Booking Bot V2 sử dụng mô hình phân quyền phân cấp 5 tầng. Thành viên ở cấp bậc cao hơn mặc định có quyền sử dụng các câu lệnh của cấp bậc thấp hơn (ngoại trừ vai trò Cash):
[Owner] -> [Admin] -> [Supporter] -> [Player]
|
[Cash] (Quyền tài chính độc lập, không kế thừa)Bảng Chi Tiết Phạm Vi Của Từng Quyền
| Cấp bậc | Vai trò tương ứng | Phạm vi quyền hạn trong bot |
|---|---|---|
| Owner | Chủ sở hữu máy chủ | Quyền hạn tối cao: Thay đổi cấu hình biểu phí (/config), hệ thống ghi log (/logger), cổng thanh toán (/payment-config), phân quyền lệnh (/setuprole permission). |
| Admin | Quản lý cấp cao | Quản lý hệ thống Ticket, lời chào Welcome, khảo sát Feedback, tính tổng lương và reset chu kỳ hóa đơn. |
| Cash | Kế toán / Thu ngân | Vai trò tài chính độc lập: Nạp/trừ tiền số dư, nạp/trừ lương, duyệt giao dịch cọc. Chỉ Owner và Cash mới được phép can thiệp số dư. |
| Supporter | Nhân viên điều phối | Tạo đơn đặt lịch, thêm giờ chơi Cam/Game, xử lý donate, hoàn tiền (refund) theo bill-id, tiếp nhận yêu cầu từ khách. |
| Player | Thành viên nhận book | Tra cứu lương cá nhân, kiểm tra số giờ phục vụ, cập nhật trạng thái hoạt động trên profile. |
3. Liên Kết Quyền Bot Vào Vai Trò Discord
Việc phân quyền được thực hiện nhanh chóng bằng câu lệnh /setuprole. Bạn có thể gán một hoặc nhiều vai trò Discord vào cùng một nhóm quyền:
# Gán vai trò cho Admin
/setuprole add permission:Admin role:@BanQuanTri
# Gán vai trò cho Supporter (có thể gán cùng lúc nhiều role phụ tá)
/setuprole add permission:Supporter role:@Staff roles:@Helper, @Moderator
# Gán vai trò riêng biệt cho bộ phận kế toán
/setuprole add permission:Cash role:@KeToanChi tiết cách quản lý và tùy biến phân quyền theo từng câu lệnh được trình bày tại Quản lý Phân quyền Staff.