Cách tạo Bot Discord chi tiết
Discord Bot là con robot đa năng có thể vừa kể chuyện hài, phát nhạc trên sóng trực tiếp hay chào mừng thành viên mới vào máy chủ của bạn… Vậy bạn đã biết cách tạo bot Discord chưa?
Table of Contents
Trên Discord, mọi người có thể cộng tác chia sẻ ý tưởng, thảo luận về các dự án hay trò chuyện về cuộc sống và sở thích nói chung. Nhưng bot Discord có thể làm cho các chat room (phòng trò chuyện) của bạn trở nên thú vị hơn ngoài việc tự động hóa các tác vụ, ví dụ như kể chuyện cười, bật một bản nhạc… Bài viết này sẽ chỉ bạn cách để tạo Discord Bot chi tiết nhất.
1. Tạo máy chủ Discord.
Trước khi tạo bot Discord, bạn phải bắt đầu bằng cách tạo một máy chủ, vì đây là nơi chỉ định để đặt bot. Máy chủ Discord hoặc chat room là không gian nơi bạn quản lý các kênh và thông tin liên lạc trên nền tảng.
Để tạo máy chủ Discord, hãy truy cập trang web Discord và đăng nhập vào Discord dashboard (bảng điều khiển), hoặc tạo tài khoản nếu bạn chưa có.
Sau khi đăng nhập xong, hãy làm theo các bước sau để tạo máy chủ Discord:
- Nhấp vào biểu tượng dấu cộng (+) trên thanh công cụ bên trái.
- Chọn tùy chọn Create My Own.
- Chọn mục đích tạo máy chủ.
- Tùy chỉnh máy chủ bằng ảnh hồ sơ và tên. Sau đó nhấp vào Create
Giờ đây bạn đã tạo một máy chủ Discord và sẵn sàng tạo một bot để kiểm soát một số hoạt động trên đó.
>>> Xem thêm: Virus Discord là gì? Loại bỏ Virus Discord như thế nào?
2. Thiết lập và tạo bot Discord.
Tiếp theo, bạn có thể tạo bot Discord trong ứng dụng Discord bằng cách truy cập Cổng thông tin nhà phát triển Discord (Discord Developer Portal) hoặc nhập URL sau vào trình duyệt:
https://discord.com/developers/applications
- Nhấp vào tùy chọn New Application ở trên cùng bên trái
- Ở mục NAME bạn cần điền tên ứng dụng vào và chọn Create.
- Nhìn sang thanh bên trái và chọn Bot.
- Nhấp vào Thêm Bot (add bot) ở phía trên bên phải.
- Khi lời nhắc hiện ra, bạn chọn Yes, do it!
- Nhấp vào Sao chép (copy) để sao chép mã thông báo bot. Tạo một tệp văn bản bên trong dự án và dán mã vào đó. Bạn có thể đặt tên tệp là secret.txt. Nên nhớ bạn không nên tiết lộ mã thông báo đã sao chép.
- Kéo xuống và gạt sang phải hai tùy chọn PRESENCE INTENT và SERVER MEMBERS INTENT
- Tiếp theo, nhấp vào OAuth2 trên thanh bên trái để thêm các ưu tiên xác thực vào bot Discord..
- Chọn Trình tạo URL (URL Generator) để tạo URL mời bot cho máy chủ bạn đã tạo trước đó.
- Từ các tùy chọn trong SCOPES, chọn bot.
- Kéo xuống phần BOT PERMISSION và chọn vai trò cho bot Discord. Trong trường hợp này, chúng ta sẽ cấp cho nói vai trò Quản trị viên (Administrator).
- Kéo xuống dưới cùng và nhấp vào SAO CHÉP (COPY) để sao chép URL đã tạo vào khay nhớ tạm.
Tiếp theo, chúng ta sẽ liên kết máy chủ với bot.
Liên kết Máy chủ với Bot Discord của bạn
Như đã đề cập ở trên, bot hoạt động chủ yếu bên trong máy chủ, nên sau khi tạo bot xong bạn cần gán nó cho một máy chủ để hoạt động.
Vì vậy, khi bạn sao chép URL đã tạo, hãy làm theo các bước tiếp theo sau để liên kết chat room với bot Discord:
- Dán URL đã sao chép vào trường địa chỉ của trình duyệt và đăng nhập vào đó.
- Máy hiện lời nhắc, hãy nhấp vào Select a server và chọn máy chủ đã tạo.
- Nhấn Tiếp tục (Continue) để đến bước tiếp theo.
- Bạn sẽ thấy một menu mới với danh sách các quyền mà bạn đã đặt trước đó. Chọn Authorized.
- Nhập mã CAPTCHA để hoàn tất việc cấp phép cho bot Discord.
Bây giờ bạn đã tạo một bot Discord. Quay lại dashboard và bạn sẽ thấy biểu tượng rô-bốt ở thanh bên phải. Robot sẽ đi vào hoạt động chính thức sau khi bạn lập trình kịch bản hoạt động cho nó.
Để làm cho bot hoạt động, bạn cần viết một tập lệnh bằng bất kỳ ngôn ngữ lập trình nào phù hợp nhất với bạn.
>>> Xem thêm: Cách khắc phục cập nhật Discord không thành công trên Windows
3. Lập trình Bot Discord bằng Python
Đối với hướng dẫn này, chúng tôi sẽ sử dụng Python và lưu trữ bot Discord trên máy cục bộ. Bạn có thể lưu trữ lệnh của mình trên các dịch vụ đám mây như Heroku nếu muốn sau khi mọi thứ được thiết lập..
Thiết lập Python và Thư viện
Để lập trình bot Discord với Python, bạn sẽ sử dụng mô-đun discord.py, mô-đun này chỉ hoạt động với Python 3.5.3 trở lên. Nếu bạn đang sử dụng Python phiên bản cũ hơn, có thể truy cập vào Python.org để tải xuống phiên bản mới nhất.
Bạn kiểm tra Python được cài trên PC cá nhân bằng cách nhập dòng lệnh sau vào terminal:
python --version
Nếu Python đang là phiên bản mới nhất, hãy mở terminal vào thư mục gốc dự án và kích hoạt một môi trường ảo Python. Ngoài ra, bạn sẽ phải cài đặt discord.py và một gói hỗ trợ giọng nói có tên là discord.py [voice].
Với môi trường ảo đang hoạt động, hãy chạy lệnh sau trong terminal để cài đặt các gói sau:
pip install -U discord.py discord.py[voice]
Gửi tin nhắn với bot Discord
Tại đây, bạn sẽ lập trình bot Discord để trả lời bằng một tin nhắn tùy chỉnh khi bạn gửi tin nhắn trong một kênh.
Nhưng trước tiên, hãy nhập mã sau vào đầu tập lệnh để khởi chạy bot Discord:
import discord
# Import the commands module:
from discord.ext import commands
# Initialize the bot instance and use a blank prefix:
bot = commands.Bot(command_prefix="")
#Read your bot token from the txt file in your project root:
Secret = open("secret.txt", 'r')
Secret = Secret.read()
#Run the bot in an event loop:
bot.run(Secret)
Biến bot gọi các lệnh tùy chỉnh từ lớp lệnh và tiền tố command_prefix trong dấu ngoặc đơn cho phép bạn chỉ định một ký tự đứng trước nó. Các ký tự như dấu đô la ($), dấu chấm than (!), Dấu và (&),… là các tiền tố phổ biến đặt trước lệnh bot.
Sử dụng hàm decorator @ bot.command () để tạo lệnh tùy chỉnh “Xin chào” và cung cấp nội dung trả lời cho bot Discord như sau:
Lưu ý rằng các lệnh tùy chỉnh là các hàm Python:
import discord
# Import the commands module:
from discord.ext import commands
# Initialize the bot instance:
bot = commands.Bot(command_prefix="")
@bot.command()
async def Hi(ctx):
await ctx.send("Hi, welcome to our server")
Secret = open("secret.txt", 'r')
Secret = Secret.read()
bot.run(Secret)
Bây giờ hãy chạy tập lệnh Python trong terminal, vào Discord và gửi “Hi” để xem kết quả.
Trong trường hợp này, FUNiX sử dụng phương thức async await để phục vụ hàm vì đó là cách duy nhất để mô-đun giao tiếp với Discord. Hàm ctx trong từng phiên và ngữ cảnh cụ thể có thể có nhiều chức năng khác nhau, như trong trường hợp này, nó cho phép bot Discord có thể gửi tin nhắn.
Mời thành viên tham gia Bot
Trong ví dụ này, bạn sẽ biết cách sử dụng event để kích hoạt lời chào khi ai đó tham gia máy chủ của bạn. Bạn cũng sẽ học cách hiển thị tên người dùng của một thành viên mới và máy chủ mà họ đã tham gia trong tin nhắn chào mừng. Chúng ta sẽ sử dụng lệnh @bot.event. Dưới đây cách làm chi tiết:
@bot.event
async def on_member_join(member):
guild = member.guild
if guild.system_channel is not None:
detailMessage = 'We welcome {0.mention} to the {1.name}!'.format(member, guild)
await guild.system_channel.send(detailMessage)
Hàm on_member_join hay on_ready là một sự kiện thường được sử dụng để kiểm tra xem một bot đã sẵn sàng hay chưa. Hàm on_member_join được xem là một loại của sự kiện. Ngoài ra bạn có thể sử dụng phương pháp phổ biến hơn như on_ready để kiểm tra Bot hoạt động hay chưa.
Hơn nữa, điều kiện theo sau câu lệnh if sẽ kiểm tra xem máy chủ được kết nối (guild hoặc chat room) có tồn tại hay không. Nếu có, nó sử dụng phương thức định dạng chuỗi Python để xuất tên người dùng của thành viên mới và máy chủ mà họ đã tham gia.
Bây giờ hãy nhờ một người bạn tham gia vào máy chủ của bạn để xem điều gì sẽ xảy ra. Tuy nhiên, bạn có thể muốn thử trước với một tài khoản Discord giả để đảm bảo rằng nó hoạt động.
>>> Xem thêm: Cách ngăn Discord khởi chạy khi bật Windows
Yêu cầu Bot Discord tham gia hoặc rời khỏi kênh âm thanh
Bạn sẽ yêu cầu bot của mình tham gia hoặc rời khỏi kênh âm thanh (audio channel) khi nó nhận được một lệnh cụ thể.
Trong ví dụ bên dưới, bot Discord sẽ đưa bạn đến với kênh âm thanh khi bạn nhập “enter”:
@bot.command()
async def enter(ctx):
if ctx.author.voice:
await ctx.message.author.voice.channel.connect()
Điều kiện trong câu lệnh if sẽ kiểm tra xem bạn đã tham gia một kênh âm thanh chưa. Nếu rồi, từ khóa await sẽ kết nối bot Discord với kênh đó.
Điều này có nghĩa là bạn phải tham gia một kênh âm thanh trước khi lệnh có thể chạy thành công.
Lưu ý: Đảm bảo rằng bạn dừng và khởi động lại tập lệnh Python sau mỗi lần cập nhật. Nó cho phép Python đồng bộ hóa các thay đổi của bạn.
Khi bạn thực thi lại tập lệnh Python, hãy mở Discord và nhập enter. Lúc này Bot Discord đã được kết nối với một kênh âm thanh.
Nếu bạn muốn Bot Discord ngắt kết nối với Audio Channel, bạn có thể nhập dòng lệnh dưới đây:
@bot.command()
async def leave(ctx):
if ctx.voice_client:
await ctx.guild.voice_client.disconnect()
Tiếp tục cải thiện Bot Discord
Sau khi làm theo các hướng dẫn trên, bạn đã tự tạo một Bot Discord với đầy đủ chức năng để phục vụ nhu cầu cá nhân. Để có thêm nhiều tính năng hơn bạn hoàn toàn có thể thêm vào và cải thiện bot của mình. Hy vọng bạn đọc sẽ có nhiều trải nghiệm thú vị khi sử dụng Discord Bot.
>>> Nếu bạn đang có nhu cầu tìm hiểu về khóa học lập trình đi làm ngay. Hãy liên hệ với FUNiX ngay tại đây:
Cách đặt câu hỏi, tra cứu từ khoá và bật tắt thông báo trên hệ thống Discord FUNiX
Hơn 10 nghìn học viên FUNiX được trang bị ứng dụng lọc âm thanh AI
Những cơ sở giáo dục tại Việt Nam tiên phong ứng dụng ChatGPT
Những ứng dụng của trí tuệ nhân tạo (AI) có thể bạn không ngờ tới
Khánh Huyền (Theo Makeuseof)
https://www.makeuseof.com/how-to-make-discord-bot/
Bình luận (0
)