2017-11-28 1 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

関連する問題