Việc tạo bot Discord đầu tiên của bạn dễ dàng hơn bạn nghĩ. Bạn không cần bằng khoa học máy tính hoặc nhiều năm kinh nghiệm lập trình. Vào năm 2026, việc xây dựng và triển khai một bot hoạt động mất một ngày cuối tuần nếu bạn tập trung.
Hướng dẫn này sẽ hướng dẫn bạn toàn bộ quy trình: đăng ký bot của bạn, viết lệnh đầu tiên, kiểm tra cục bộ và triển khai trực tiếp. Đến cuối, bạn sẽ có một bot đang chạy trên máy chủ của mình.
Hiểu Bot Discord Là Gì
Bot Discord là một chương trình kết nối với Discord thông qua API và phản hồi các sự kiện: khi ai đó nhập lệnh, phản ứng với một tin nhắn, tham gia máy chủ, v.v.
Các khái niệm chính:
- Ứng dụng so với Bot: "Ứng dụng" của bạn được đăng ký trong Cổng thông tin nhà phát triển Discord. "Bot" là tài khoản người dùng được liên kết với ứng dụng đó. Một ứng dụng có một bot.
- Mã thông báo (Tokens): Một khóa bí mật xác thực bot của bạn. Không bao giờ chia sẻ điều này. Nó giống như một mật khẩu cho bot của bạn.
- Ý định (Intents): Các quyền cho phép bot của bạn xem các sự kiện nhất định (tin nhắn, phản ứng, thay đổi trạng thái thành viên, v.v.). Bạn chỉ bật những gì bạn cần.
- Lệnh (Commands): Bot phản hồi các lệnh. Các bot hiện đại sử dụng lệnh gạch chéo (
/command) thay vì lệnh tiền tố (!command). Lệnh gạch chéo được hỗ trợ chính thức và được khuyến nghị. - Sự kiện (Events): Bot của bạn lắng nghe các sự kiện Discord (tin nhắn được gửi, phản ứng được thêm, thành viên tham gia) và phản ứng với chúng.
Bước 1: Đăng Ký Bot Của Bạn Trong Cổng Thông Tin Nhà Phát Triển Discord
Đây là nơi bot của bạn chính thức tồn tại trong hệ thống của Discord.
Quy trình:
- Truy cập Cổng thông tin nhà phát triển Discord
- Đăng nhập bằng tài khoản Discord của bạn
- Nhấp vào "Ứng dụng mới"
- Đặt tên cho nó (ví dụ: "Bot Đầu Tiên Của Tôi")
- Nhấp vào "Tạo"
- Bây giờ bạn đang ở trong cài đặt ứng dụng của mình
Bây giờ hãy tạo người dùng bot:
- Chuyển đến phần "Bot" (thanh bên trái)
- Nhấp vào "Thêm Bot"
- Bên dưới tên người dùng của bot, bạn sẽ thấy nút "TOKEN"
- Sao chép mã thông báo — đây là cách bot của bạn xác thực. Giữ bí mật điều này. Không bao giờ chia sẻ nó công khai hoặc cam kết nó với GitHub mà không có mã hóa.
Định cấu hình cài đặt bot:
- Bật "Ý định nội dung tin nhắn" (cho phép bot đọc văn bản tin nhắn)
- Bật "Ý định thành viên máy chủ" (cho phép bot xem ai đang ở trong máy chủ)
- Cuộn xuống phần "OAuth2"
Bước 2: Tạo Liên Kết Mời Bot Của Bạn
Bạn cần một liên kết mời đặc biệt để thêm bot vào một máy chủ.
Trong Cổng thông tin nhà phát triển:
- Chuyển đến "OAuth2" → "Trình tạo URL"
- Trong "PHẠM VI", hãy đánh dấu:
bot - Trong "QUYỀN", hãy chọn những gì bot của bạn có thể làm:
Gửi tin nhắn(cần thiết cho bất kỳ bot nào)Quản lý tin nhắn(nếu bạn đang kiểm duyệt)Thêm phản ứng(nếu bot phản ứng với mọi thứ)Kết nối+Nói(nếu đó là bot âm nhạc/thoại)- Để học tập, chỉ cần chọn
Gửi tin nhắn+Đọc tin nhắn(tối thiểu khả thi)
- Sao chép URL đã tạo ở dưới cùng
- Chia sẻ URL này với chủ sở hữu máy chủ (hoặc tự sử dụng nó để thêm vào máy chủ thử nghiệm của riêng bạn)
Không sử dụng quyền Quản trị viên trừ khi thực sự cần thiết. Cấp quá nhiều quyền là một rủi ro bảo mật.
Bước 3: Chọn Ngôn Ngữ và Khung Của Bạn
Hai tùy chọn chính cho người mới bắt đầu:
JavaScript (discord.js)
Discord.js là khung bot Discord phổ biến nhất. Cộng đồng lớn, vô số hướng dẫn và tài liệu tuyệt vời.
Ưu điểm:
- Cộng đồng lớn nhất và nhiều hướng dẫn nhất trực tuyến
- Tài liệu discord.js là tuyệt vời
- Node.js được sử dụng rộng rãi và dễ học
- Dễ dàng triển khai lên hầu hết các nền tảng lưu trữ
Nhược điểm:
- JavaScript có những điểm kỳ quặc (đường cong học tập async/await)
- Node.js thêm chi phí bộ nhớ so với Python
Bắt đầu:
- Cài đặt Node.js (v18+)
- Tạo một thư mục dự án
npm init -ynpm install discord.js
Python (discord.py)
Cú pháp đơn giản hơn, tuyệt vời cho người mới bắt đầu, tuyệt vời để học các nguyên tắc cơ bản.
Ưu điểm:
- Cú pháp dễ học nhất
- Trực quan cho người mới bắt đầu
- Tài liệu discord.py là tốt
- Python được sử dụng ở mọi nơi (khoa học dữ liệu, web, tự động hóa)
Nhược điểm:
- Cộng đồng nhỏ hơn discord.js (nhưng vẫn lớn)
- Ít hướng dẫn hơn JavaScript
- Sử dụng bộ nhớ cao hơn một chút
Bắt đầu:
- Cài đặt Python 3.10+
- Tạo một thư mục dự án
pip install discord.py
Đề xuất cho người mới bắt đầu: Nếu bạn biết Python, hãy sử dụng discord.py. Nếu bạn biết JavaScript, hãy sử dụng discord.js. Nếu bạn không biết cái nào, Python dễ học hơn, nhưng JavaScript có nhiều tài nguyên trực tuyến hơn. Chọn một và cam kết.
Bước 4: Viết Bot Đầu Tiên Của Bạn (Ví Dụ Python)
Đây là một bot Discord hoạt động tối thiểu trong Python, phản hồi một lệnh:
import discord
from discord.ext import commands
# Tạo bot với tiền tố lệnh và ý định
intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix='!', intents=intents)
@bot.event
async def on_ready():
print(f'{bot.user} đã kết nối với Discord!')
@bot.command(name='hello', help='Nói xin chào')
async def hello(ctx):
await ctx.send(f'Xin chào {ctx.author.name}!')
@bot.command(name='ping', help='Phản hồi bằng pong')
async def ping(ctx):
await ctx.send('Pong!')
bot.run('YOUR_TOKEN_HERE')
Điều này làm gì:
- Kết nối với Discord
- Lắng nghe các lệnh
!hellovà!ping - Phản hồi bằng một tin nhắn khi được kích hoạt
Để chạy nó:
- Thay thế
'YOUR_TOKEN_HERE'bằng mã thông báo thực tế của bạn từ Bước 1 - Lưu dưới dạng
bot.py - Chạy:
python bot.py - Trong Discord, nhập
!hellotrong bất kỳ kênh nào - Bot phản hồi: "Xin chào [Tên của bạn]!"
Bước 5: Kiểm Tra Cục Bộ
Trước khi triển khai, hãy kiểm tra bot của bạn cục bộ (trên máy tính của bạn).
Thiết lập một máy chủ thử nghiệm:
- Tạo một máy chủ Discord riêng tư để thử nghiệm
- Thêm bot của bạn vào đó bằng liên kết mời từ Bước 2
- Chạy mã bot của bạn cục bộ
- Nhập lệnh trong máy chủ thử nghiệm
- Xem các lỗi trong thiết bị đầu cuối của bạn; sửa chúng
Các lỗi thường gặp:
- "Mã thông báo không hợp lệ" — Bạn đã sao chép sai mã thông báo hoặc nó đã hết hạn. Tạo lại trong Cổng thông tin nhà phát triển.
- "Thiếu quyền" — Bot không có quyền thực hiện hành động đó trong kênh này. Thêm quyền hoặc sử dụng một kênh nơi bot có nhiều quyền hơn.
- "Ý định chưa được bật" — Bạn cần bật ý định trong Cổng thông tin nhà phát triển (Ý định nội dung tin nhắn, Ý định thành viên máy chủ, v.v.)
Kiểm tra kỹ lưỡng. Một bot có lỗi trong sản xuất là điều đáng xấu hổ.
Bước 6: Thêm Nhiều Lệnh Hơn
Bây giờ bạn đã hiểu những điều cơ bản, hãy mở rộng với nhiều tính năng hơn.
Ví dụ Python — một lệnh kinh tế đơn giản:
@bot.command(name='balance', help='Kiểm tra số dư xu của bạn')
async def balance(ctx):
# Trong một bot thực, điều này sẽ truy vấn một cơ sở dữ liệu
# Hiện tại, chỉ cần trả về một giá trị giả
await ctx.send(f'{ctx.author.name}, bạn có 100 xu!')
@bot.command(name='roll', help='Tung xúc xắc (1-6)')
async def roll(ctx):
import random
result = random.randint(1, 6)
await ctx.send(f'{ctx.author.name} đã tung: **{result}**')
Mỗi lệnh là một hàm đơn giản. Thêm bao nhiêu tùy thích.
Bước 7: Triển Khai Bot Của Bạn
Lưu trữ cục bộ hoạt động để thử nghiệm, nhưng bot của bạn sẽ dừng khi bạn đóng máy tính xách tay của mình. Triển khai lên một máy chủ để nó chạy 24/7.
Các Tùy Chọn Lưu Trữ Miễn Phí
Replit (dễ nhất cho người mới bắt đầu):
- Truy cập Replit.com
- Tạo Repl mới → Python (hoặc Node.js)
- Dán mã bot của bạn
- Nhấp vào "Chạy"
- Replit lưu trữ nó miễn phí (với các giới hạn: có thể ngủ sau khi không hoạt động)
Railway.app (hiện đại, đáng tin cậy):
- Truy cập Railway.app
- Kết nối GitHub (hoặc tải trực tiếp các tệp)
- Tạo dự án mới → chọn bot của bạn
- Railway triển khai tự động
- Gói miễn phí bao gồm tín dụng hàng tháng $5
Glitch (tương tự như Replit):
- Truy cập Glitch.com
- Tạo dự án mới
- Dán mã
- Glitch giữ cho nó hoạt động (trong giới hạn của gói miễn phí)
Quan trọng: Không mã hóa cứng mã thông báo của bạn trong mã bạn đẩy lên GitHub. Sử dụng các biến môi trường:
import os
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
bot.run(TOKEN)
Tạo một tệp .env cục bộ (thêm vào .gitignore để nó không được cam kết):
DISCORD_TOKEN=your_actual_token_here
Trên Replit/Railway, hãy đặt mã thông báo làm biến môi trường bí mật trong cài đặt nền tảng (không phải trong mã).
Các Lỗi Thường Gặp Của Người Mới Bắt Đầu
Lỗi 1: Mã hóa cứng mã thông báo Không bao giờ đặt mã thông báo của bạn trong mã bạn đẩy lên GitHub. Các bot có mã thông báo bị rò rỉ sẽ bị xâm phạm ngay lập tức. Sử dụng các biến môi trường.
Lỗi 2: Không xử lý lỗi Bot của bạn gặp sự cố khi nhập liệu không mong muốn. Thêm xử lý lỗi:
@bot.command()
async def divide(ctx, a: int, b: int):
try:
result = a / b
await ctx.send(result)
except ZeroDivisionError:
await ctx.send('Không thể chia cho số không!')
except ValueError:
await ctx.send('Vui lòng nhập các số hợp lệ!')
Lỗi 3: Không tôn trọng giới hạn tốc độ Discord giới hạn tốc độ bạn có thể gửi tin nhắn. Không spam API. Thêm độ trễ giữa các hành động hàng loạt.
Lỗi 4: Bỏ qua ý định Nhiều bot mới bắt đầu không thành công vì họ không bật các ý định cần thiết trong Cổng thông tin nhà phát triển. Kiểm tra các ý định mà bot của bạn cần trước khi triển khai.
Lỗi 5: Phạm vi quá tham vọng Đừng cố gắng xây dựng một hệ thống kinh tế, kiểm duyệt, âm nhạc và 50 lệnh trong bot đầu tiên của bạn. Bắt đầu với 3-5 lệnh đơn giản. Mở rộng khi bạn đã thoải mái.
Các Bước Tiếp Theo
Bây giờ bạn đã có một bot cơ bản:
- Mở rộng chức năng: Thêm nhiều lệnh hơn, sử dụng cơ sở dữ liệu để duy trì dữ liệu, triển khai logic phức tạp
- Sử dụng lệnh gạch chéo: Cú pháp
/commandhiện đại thay vì lệnh tiền tố - Thêm phản ứng: Cho phép người dùng nhấp vào nút hoặc phản ứng bằng biểu tượng cảm xúc
- Kết nối cơ sở dữ liệu: Lưu trữ dữ liệu người dùng, xu, tùy chọn (SQLite cho người mới bắt đầu, PostgreSQL để mở rộng quy mô)
- Tham gia cộng đồng: Các cộng đồng nhà phát triển bot Discord (reddit.com/r/discordbots, máy chủ hỗ trợ Discord.js) có câu trả lời cho mọi câu hỏi
Tài Nguyên
- Tài liệu discord.js: https://discord.js.org
- Tài liệu discord.py: https://discordpy.readthedocs.io
- Tài liệu API Discord: https://discord.com/developers/docs/intro
- Hướng dẫn trên YouTube: Tìm kiếm "[discord.js/discord.py] tutorial" — số lượng nội dung lớn
Bot Discord đầu tiên của bạn là một dự án cuối tuần. Bot Discord tốt đầu tiên của bạn là một tháng thực hành. Bot đầu tiên của bạn được sử dụng bởi 1.000 máy chủ là nhiều tháng lặp đi lặp lại, phát triển tính năng và xây dựng cộng đồng. Bắt đầu ngay bây giờ, lặp lại liên tục và đừng suy nghĩ quá nhiều về nó.