Cách tạo bot Discord của riêng bạn

Discord có một API tuyệt vời để viết các bot tùy chỉnh và một cộng đồng bot rất tích cực. Hôm nay chúng ta sẽ xem xét cách bắt đầu tự làm.

Bạn sẽ cần một chút kiến ​​thức về lập trình để viết mã bot, vì vậy nó không dành cho tất cả mọi người, nhưng may mắn là có một số mô-đun dành cho các ngôn ngữ phổ biến giúp bạn thực hiện rất dễ dàng. Chúng tôi sẽ sử dụng một công cụ phổ biến nhất, discord.js.

LIÊN QUAN:Cách tạo, thiết lập và quản lý máy chủ Discord của bạn

Bắt đầu

Đi tới cổng bot của Discord và tạo một ứng dụng mới.

Bạn sẽ muốn ghi chú ID khách hàng và bí mật (tất nhiên bạn nên giữ bí mật). Tuy nhiên, đây không phải là bot, chỉ là “Ứng dụng”. Bạn sẽ phải thêm bot trong tab "Bot".

Hãy ghi chú lại mã thông báo này và giữ bí mật. Trong bất kỳ trường hợp nào, không được giao khóa này cho Github. Bot của bạn sẽ bị tấn công gần như ngay lập tức.

Cài đặt Node.js và Nhận mã hóa

Để chạy mã Javascript bên ngoài một trang web, bạn cần có Node. Tải xuống, cài đặt và đảm bảo rằng nó hoạt động trong một thiết bị đầu cuối (hoặc Command Prompt, vì tất cả điều này sẽ hoạt động trên hệ thống Windows). Lệnh mặc định là "nút".

Chúng tôi cũng khuyên bạn nên cài đặt công cụ gật đầu. Đây là một ứng dụng dòng lệnh giám sát mã bot của bạn và tự động khởi động lại khi có các thay đổi. Bạn có thể cài đặt nó bằng cách chạy lệnh sau:

npm i -g gật đầu

Bạn sẽ cần một trình soạn thảo văn bản. Bạn chỉ có thể sử dụng notepad, nhưng chúng tôi khuyên bạn nên sử dụng Atom hoặc VSC.

Đây là “Xin chào thế giới” của chúng tôi:

const Discord = request ('discord.js'); const client = new Discord.Client (); client.on ('ready', () => {console.log (`Đã đăng nhập bằng $ {client.user.tag}!`);}); client.on ('message', msg => {if (msg.content === 'ping') {msg.reply ('pong');}}); client.login ('mã thông báo');

Mã này được lấy từ ví dụ discord.js. Hãy chia nhỏ nó.

  • Hai dòng đầu tiên là cấu hình máy khách. Dòng một nhập mô-đun vào một đối tượng được gọi là “Discord” và dòng hai khởi tạo đối tượng khách.
  • Các client.on ('sẵn sàng') khối sẽ kích hoạt khi bot khởi động. Ở đây, nó chỉ được định cấu hình để đăng nhập tên của nó vào thiết bị đầu cuối.
  • Các client.on ('tin nhắn') khối sẽ kích hoạt mỗi khi một tin nhắn mới được đăng lên bất kỳ kênh nào. Tất nhiên, bạn sẽ cần kiểm tra nội dung tin nhắn và đó là những gì nếu khối không. Nếu tin nhắn chỉ nói "ping", thì nó sẽ trả lời bằng "Pong!"
  • Dòng cuối cùng đăng nhập bằng mã thông báo từ cổng bot. Rõ ràng, mã thông báo trong ảnh chụp màn hình ở đây là giả mạo. Đừng bao giờ đăng mã thông báo của bạn trên internet.

Sao chép mã này, dán vào mã thông báo của bạn ở dưới cùng và lưu nó dưới dạng index.js trong một thư mục chuyên dụng.

Cách chạy Bot

Đi tới thiết bị đầu cuối của bạn và chạy lệnh sau:

gật đầu --inspect index.js

Thao tác này khởi động tập lệnh và cũng kích hoạt trình gỡ lỗi Chrome mà bạn có thể truy cập bằng cách nhập chrome: // thanh tra / vào Thanh địa chỉ của Chrome, sau đó mở “công cụ dành riêng cho Node”.

Bây giờ, nó sẽ chỉ nói "Đã đăng nhập bằng", nhưng ở đây tôi đã thêm một dòng sẽ ghi lại tất cả các đối tượng thông báo nhận được vào bảng điều khiển:

Vậy điều gì tạo nên đối tượng tin nhắn này? Thực ra rất nhiều thứ:

Đáng chú ý nhất, bạn có thông tin tác giả và thông tin kênh, bạn có thể truy cập thông tin này bằng msg.author và msg.channel. Tôi khuyên bạn nên sử dụng phương pháp ghi nhật ký các đối tượng này vào các công cụ phát triển của Chrome Node và chỉ cần quan sát xung quanh để xem điều gì khiến nó hoạt động. Bạn có thể tìm thấy một cái gì đó thú vị. Ví dụ: ở đây, bot ghi lại các câu trả lời của nó vào bảng điều khiển, do đó, các câu trả lời của bot sẽ kích hoạt client.on ('tin nhắn'). Vì vậy, tôi đã tạo một spambot:

Ghi chú: Hãy cẩn thận với điều này, vì bạn không thực sự muốn xử lý đệ quy.

Cách thêm Bot vào máy chủ của bạn

Phần này khó hơn nó phải được. Bạn phải lấy URL này:

//discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot

Và thay CLIENTID bằng ID khách hàng của bot của bạn, được tìm thấy trên tab thông tin chung của trang ứng dụng. Tuy nhiên, khi điều này được thực hiện, bạn có thể cung cấp liên kết cho bạn bè của mình để nhờ họ thêm bot vào máy chủ của họ.

Được rồi, Vậy tôi có thể làm gì khác?

Ngoài thiết lập cơ bản, mọi thứ khác hoàn toàn tùy thuộc vào bạn. Tuy nhiên, đây sẽ không phải là hướng dẫn nhiều nếu chúng ta dừng lại ở hello world, vì vậy hãy xem qua một số tài liệu để bạn có ý tưởng tốt hơn về những gì có thể. Tôi khuyên bạn nên đọc kỹ càng nhiều càng tốt, vì nó được ghi chép rất đầy đủ.

Tôi muốn khuyên bạn nên thêm console.log (máy khách) để bắt đầu mã của bạn và xem xét đối tượng khách hàng trong bảng điều khiển:

Từ đây, bạn có thể học hỏi được rất nhiều điều. Vì bạn có thể thêm một bot vào nhiều máy chủ cùng một lúc, các máy chủ là một phần của Bang hội đối tượng bản đồ. Trong đối tượng đó là các Bang hội riêng lẻ (là tên của API cho “máy chủ”) và các đối tượng Bang hội đó có danh sách kênh chứa tất cả thông tin và danh sách tin nhắn. API rất sâu và có thể mất một chút thời gian để tìm hiểu, nhưng ít nhất nó rất dễ thiết lập và bắt đầu học.


$config[zx-auto] not found$config[zx-overlay] not found