2017-11-28 8 views
0

Discord.js를 사용하여 기본 Discord 봇을 만듭니다. 봇이 처음 시작되면, 나는 봇이 현재 가입 한 모든 길드 목록을 얻기 위해 client.guilds.array()을 실행합니다. 다른 프로그램에서 사용하는 데이터베이스에 저장합니다.Discord 봇이 길드에 가입하면 어떤 이벤트가 발생합니까?

그러나 길드에서 봇을 추가/제거 할 때 업데이트 된 길드 목록을 유지하고 싶습니다. 난 그냥 clients.guilds.array() 매 순간이나 뭔가를 다시 실행할 수 있다는 것을 알지만, 비효율적 인 것 같습니다.

봇이 길드 및/또는 채널에 추가 될 때 발생하는 이벤트가 있습니까? 내가 읽은 바에 따르면, 인 이미 모든 사용자/봇에 대해 guildMemberAdd 이벤트가 발생했으며 길드에 가입 한 사람은입니다. 길드에 추가되었을 때 로봇에게 알려주는 이벤트가 있습니까?

답변

1

예 있으며 클라이언트 이벤트 https://discord.js.org/#/docs/main/stable/class/Client에서 볼 수 있습니다. 이벤트를 사용하여 길드 배열을 업데이트하는 간단한 예 :

const discord = require("discord.js"); 
const client = new discord.Client(); 

let guildArray = client.guilds.array(); 

//joined a server 
client.on("guildCreate", guild => { 
    console.log("Joined a new guild: " + guild.name); 
    //Your other stuff like adding to guildArray 
}) 

//removed from a server 
client.on("guildDelete", guild => { 
    console.log("Left a guild: " + guild.name); 
    //remove from guildArray 
}) 
+0

감사! 나는 혼란 스러웠다. 나는 그 사건이 단지 길드가 실제로 추가되거나 제거 될 때가 아니라 새로운 길드가 실제로 생성되거나 삭제되었을 때라고 생각했다. – Hashcut