Token bot Discord chính là mật khẩu của tài khoản bot: ai giữ nó có thể đăng nhập bot vào Discord và bắt bot làm bất cứ điều gì mà quyền của nó cho phép, trong mọi máy chủ mà bot đã tham gia. Bạn có thể lấy token miễn phí từ Discord Developer Portal khi tạo một ứng dụng bot. Hãy coi nó như mật khẩu, vì đó chính xác là bản chất của nó, chứ không phải một định danh công khai như ID người dùng của bot hay liên kết mời.
Cách lấy token bot Discord
- Mở Developer Portal. Truy cập discord.com/developers/applications và đăng nhập bằng tài khoản Discord sẽ sở hữu bot.
- Tạo ứng dụng. Nhấn New Application rồi đặt tên. Tên này chưa phải tên hiển thị của bot, mà chỉ là tên của ứng dụng.
- Mở tab Bot. Discord tự động thêm một người dùng bot vào ứng dụng. Đặt tên người dùng và ảnh đại diện tại đây; đây là những gì thành viên sẽ thấy trong máy chủ.
- Bật các intent bạn cần. Trong mục Privileged Gateway Intents, Server Members Intent và Message Content Intent mặc định là tắt. Hầu hết bot chào mừng thành viên mới, đọc nội dung tin nhắn hoặc theo dõi vai trò đều cần bật cả hai.
- Nhấn Reset Token. Discord tạo token và chỉ hiển thị cho bạn đúng một lần. Hãy sao chép ngay, vì không có cách nào xem lại đúng token đó sau này. Nhấn Reset Token lần thứ hai sẽ vô hiệu hóa token đầu tiên và cấp một token mới.
- Dán token vào nơi cần dùng. Vào mã nguồn bot của bạn dưới dạng biến môi trường, hoặc vào ô trong dashboard của nhà cung cấp hosting. Tuyệt đối không dán vào tin nhắn chat, kho lưu trữ công khai hay phiếu hỗ trợ.
Token bot thực sự cấp quyền gì
Token là cách mã nguồn xác thực là người dùng bot với gateway và REST API của Discord. Với một token hợp lệ, mã nguồn có thể:
- Đăng nhập bot và giữ cho bot trực tuyến
- Gửi và đọc tin nhắn trong mọi kênh mà bot nhìn thấy
- Thực hiện bất kỳ hành động nào mà quyền vai trò của bot cho phép trong mỗi máy chủ mà nó đã tham gia: quản lý vai trò, kick, ban, xóa kênh, v.v.
- Đọc tin nhắn riêng (DM) của bot và phản hồi các tương tác (lệnh slash, nút bấm, modal)
Điều token không cấp: khả năng thêm bot vào máy chủ mới. Để mời bot, cần một liên kết ủy quyền OAuth2 riêng, được tạo từ client ID của ứng dụng và một bộ quyền đã chọn, và quản trị viên máy chủ phải phê duyệt. Token bị rò rỉ không thể dùng để mời bot vào máy chủ mới, nhưng nó vẫn có thể gây thiệt hại thật sự ở mọi máy chủ mà bot đã tham gia, trong phạm vi các quyền mà bot đó có ở đó.
Vì sao không bao giờ nên dán token bot vào chat
Token bot là một thông tin xác thực dạng văn bản thuần, không có thời hạn hết hạn tích hợp. Bất kỳ ai có nó đều có thể chạy bản sao riêng của danh tính bot của bạn cho đến khi bạn đặt lại token, kể cả trong máy chủ hỗ trợ Discord, issue GitHub, hay khi chia sẻ màn hình mà nó hiện ra dù chỉ thoáng qua. Dán token công khai, chẳng hạn trong một commit GitHub, sẽ bị Discord coi là thông tin xác thực bị rò rỉ, và đây là cách phổ biến để bot bị chiếm quyền rồi spam mọi máy chủ mà nó tham gia. Không có cách nào để biết sau này ai đã dùng token bị rò rỉ hay họ đã làm gì; cách duy nhất để khắc phục là đặt lại token.
Cũng cần cẩn trọng tương tự khi chia sẻ token với nhà cung cấp hosting. Chỉ dán vào ô trong dashboard chính thức của nhà cung cấp qua HTTPS, tuyệt đối không gửi trong tin nhắn cho một người nào, dù họ đáng tin đến đâu, và không dán vào báo cáo lỗi.
Đặt lại token sẽ thu hồi quyền truy cập ngay lập tức
Nhấn Reset Token trong Developer Portal sẽ vô hiệu hóa token cũ ngay lập tức. Mọi tiến trình vẫn đang dùng nó, như mã nguồn của bạn, nhà cung cấp hosting, hay bất kỳ ai lấy được nó mà không được phép, sẽ bị ngắt kết nối ở lần kết nối lại tiếp theo và không thể đăng nhập lại bằng giá trị cũ. Đây là cơ chế đằng sau hai điều đáng biết:
- Đây là công tắc ngắt khẩn cấp của bạn. Nếu nghi ngờ token bị rò rỉ, hãy đặt lại nó trước tiên. Bot sẽ ngoại tuyến đối với bất kỳ ai đang giữ token cũ, và chỉ hoạt động trở lại ở nơi nhập token mới.
- Đây cũng là cách để bạn đổi nhà cung cấp. Đã giao token cho một dịch vụ hosting và muốn rời đi? Đặt lại token trong Developer Portal, quyền truy cập của họ sẽ chấm dứt ngay lập tức, mà không cần yêu cầu họ xóa bất cứ thứ gì.
Một bot bị ngắt kết nối do đặt lại token thường hiển thị mã đóng gateway 4004 (token không hợp lệ) trong nhật ký, đó là cách Discord cho biết thông tin xác thực mà nó cố dùng không còn tồn tại nữa.
Cách Noxyr lưu trữ token của bạn
Noxyr chỉ yêu cầu token bot cho tính năng Custom Bot, nơi bạn chạy toàn bộ bộ tính năng của Noxyr dưới tên và ảnh đại diện của bot riêng. Token được lưu trữ đã mã hóa, chỉ dùng để đăng nhập bot của bạn vào gateway của Discord, và sau khi bạn dán vào, không bao giờ được hiển thị lại cho bạn hay bất kỳ ai khác. Nếu muốn cắt quyền truy cập, hãy đặt lại token trong Developer Portal theo cách đã mô tả ở trên; bot của Noxyr sẽ bị ngắt kết nối ngay khi bạn làm vậy, giống như mọi client khác đang dùng token cũ. Các bước thiết lập đầy đủ, các intent cần thiết và mô hình truy cập miễn phí qua bình chọn Top.gg được trình bày trong tài liệu Custom Bot và hướng dẫn thiết lập Custom Bot của chúng tôi.
Câu hỏi thường gặp
Tôi tìm token bot Discord ở đâu? Developer Portal, ứng dụng của bạn, tab Bot, Reset Token. Token chỉ hiển thị một lần khi được tạo; không có trang nào hiển thị lại một token đã tồn tại.
Chia sẻ token bot có an toàn không? Không. Chia sẻ, kể cả riêng tư, sẽ cho người đó toàn quyền điều khiển bot trong mọi máy chủ mà nó đã tham gia. Chỉ nhập token vào mã nguồn của bạn hoặc ô trong dashboard của nhà cung cấp hosting.
Điều gì xảy ra nếu tôi đặt lại token bot? Token cũ sẽ ngừng hoạt động ngay lập tức ở mọi nơi đang dùng nó. Bạn nhận được token mới để dán vào mã nguồn hoặc dashboard của nhà cung cấp; danh tính bot, máy chủ và dữ liệu hiện có không bị ảnh hưởng.
Token bị rò rỉ có thể dùng để thêm bot của tôi vào máy chủ khác không? Không. Điều đó cần liên kết mời OAuth2 riêng và sự phê duyệt của quản trị viên trên máy chủ đích. Nhưng token bị rò rỉ vẫn nguy hiểm ở mọi máy chủ mà bot đã có mặt.
Đặt lại token có xóa thứ gì không? Không. Nó chỉ vô hiệu hóa thông tin xác thực cũ. Cài đặt, vai trò và dữ liệu đã lưu gắn với ứng dụng và ID người dùng của bot vẫn giữ nguyên như trước.
Đang thiết lập bot cho riêng bạn? Thêm Noxyr miễn phí, hoặc xem hướng dẫn hosting nếu bạn đang tự viết mã.