• Chào bạn, hãy đăng ký hoặc đăng nhập để tham gia cùng bọn mình và sử dụng được đầy đủ chức năng của diễn đàn :).
JustAPie

Hướng dẫn Code bot Discord bằng Discord.JS

JustAPie

THÀNH VIÊN
F TO PAY RESPECT
Tham gia
02/07/2017
Bài viết
556
Đừng hỏi tại sao cái bài này lại ở trong mục website

Xin chào các bạn, thằng Pie đây. Chắc hẳn nhiều bạn vẫn biết mình như 1 thằng code mấy cái plugin xàm xí đú đúng ko?
Well mình vẫn là thằng đấy nhưng đã bỏ code plugin rồi (vì mình ngu Java vãi lol)
Vâng và mình đã trở lại đây với 1 thứ đơn giản hơn Java nhiều, đó là Javascript

Lưu ý: Mình không phải dev chuyên nghiệp cho nên sẽ có thể có nhiều sai sót, mọi thứ trong cái bài này được tổng hợp từ nhiều nguồn khác nhau.
Kính mong đón nhận được các bình luận mang tính xây dựng

Ok, để code 1 con bot discord thì trước tiên ta cần chuẩn bị:
- Một cái code editor (hoặc chuẩn bị cả một cái IDE như mình). Khuyên dùng WebstormVisual Studio Code (cái này không phải Visual Studio 20xx đâu)
- Node.js (bài này sẽ sử dụng phiên bản 12.16.1). Download tại: nodejs.org
- Một cái máy tính cấu hình không nhất là quá khỏe (Không có cái này thì sao lại vào đây)
- Một application được tạo ở trang discordapp.com

Trước tiên và trên hết, bạn phải tạo một application ở trang trên bằng cách:
Đăng nhập vào discordapp.com
Tiếp theo ấn New Application
21482

Điền tên bot của bạn vào rồi ấn Create

21483

Sau đó ấn vào phần bot
21484

Sau khi vào đó rồi thì bạn hãy copy token. Token bot của bạn là tuyệt mật, không ai được thấy nó vì nếu vậy, người khác sẽ có thể làm bất cứ điều gì với con bot mà họ muốn
21485


Tiếp đến, hãy tạo 1 folder chứa con bot của bạn, bật cmd hoặc powershell lên và ấn npm init
Cái lệnh này sẽ tạo ra 1 file package.json chứa nhiều thông tin về cái bot của bạn (vd như cái package mà bot bạn định dùng). Nói chung file này chứa tất cả thông tin về cái con bot của bạn
21486


Ok, thì về cơ bản cái discord.js(tài liệu có tại: discord.js.orgdiscordjs.guide) này là 1 cái npm package thì để bắt đầu, hãy bật cmd hoặc powershell lên, di chuyển vào thư mục con bot của bạn ấn npm i [email protected] (do bài này hướng dẫn về discord.js bản 12.0.2. Bạn có thể dùng bản 11x nếu muốn), sau đó sẽ có một folder node_modules và file package-lock.json xuất hiện, đừng đụng gì vào mấy cái đó, ở đó chứa mã nguồn cơ sở để bot của bạn chạy

Tiếp đến, hãy mở cái code editor của bạn lên, tạo 1 file config.json (file này dùng để lưu trữ các thứ như token bot của bạn)
21488


Rồi và cái file này cũng là tuyệt mật nhé

Sau đó, tạo một file javascript (tên là gì cũng được nhưng phải kết thúc bằng .js) và làm như sau
Lấy mấy cái dữ liệu từ file json trên của bạn bằng cách:
21489

Lấy properties Client() từ lib của discord.js như sau:
21490

Bạn có thể làm theo cách tạo luôn một cái variable Discord bằng cách thay cái "{ Client }" bằng Discord hay gì cũng được
Tạo một cái variable client bằng cách gọi properties Client vừa lấy bên trên:
21491

Hoặc bạn có thể dùng const client = new Discord.Client() cũng được
Sau khi hoàn thành bạn hãy gọi một cái event để bạn có thể biết được bot đã bật hay chưa bằng cách:
21492

client: là cái variable vừa nẫy bạn tạo
on: ở đây có nghĩa là nó sẽ emit event "ready" (là cái ở trong cái dấu ngoặc). Cái event này được emit khi bot đăng nhập vào discord
(): ở đây là cái function bạn cho passthrough để dùng trong event
Còn cái dấu mũi tên và ngoặc nhọn là syntax của ES6
console.log là cái method dùng để log trên console
Còn mỗi khi muốn gọi variable vào trong string thì các bạn phải bắt đầu bằng ` ` và gọi variable bằng cách viết thêm cái "${}" và ở trong ngoặc nhọn có tên variable

Nào nào mấy thành đừng vội bật bot nhé

Sau đó, hãy làm cho bot hoạt động bằng cách bắt bot đăng nhập vào discord:
21493

login: Như đã nói ở trên, cái method này dùng để bot đăng nhập vào discord bằng token (token nó giống như username và password kết hợp lại thành một cái string)

Rồi ok mấy thánh, bật bot được rồi
À btw sau khi hoàn thành các bước trên thì hãy tạo một file hoặc mở cmd, đi vào folder chứa bot của bạn ấn node (tên cái file js bạn đã tạo)
Nó sẽ trả về kết quả như sau:
21494

Như vậy là bạn đã thành công

Còn nếu nó trả về lỗi thì bạn hãy kiểm tra lại token nhé

Tiếp đến, hãy mời bot vào server bằng cách vào tab OAuth2 -> Cuộn xuống phần Scopes chọn bot -> Cuộn xuống phần Bot Permission chọn administrator(nên dùng perms này vì bot cần làm nhiều việc liên quan đến nó) -> copy cái dòng chữ ở phần scopes và paste vào thanh địa chỉ trình duyệt nhé

Sau khi đã mời được bot vào server rồi, bot của bạn sẽ hiển thị trạng thái online như sau
21495


Như vậy là bạn đã thành công rồi đó

À btw nếu bạn có vấn đề gì, hãy tham gia server discord để được hỗ trợ nhé
Chúc bạn may mắn
 

Đính kèm

  • 1586929641115.png
    1586929641115.png
    69.1 KB · Lượt xem: 83
noice
 
tập sau sẽ hướng dẫn làm lệnh, anh em hóng không?
 
bác code = jda cũng dc mà
 
về phần lệnh của ec thì:
public void onGuildMessageRecived(GuildMessageRecivedEvent event ) {
String[] args = event.getMessage().getContentRaw().spilit(" ");
if(args[0].equals("!lenh")){

}
{
 
btw, js nó sắp thành oop òi
 
Similar content Most view Xem thêm
Back
Top Bottom