当Discord机器人加入公会时会发生什么事件?

时间:2017-11-28 02:41:42

标签: discord discord.js

我正在使用Discord.js创建一个基本的Discord机器人。首次启动僵尸程序时,我运行client.guilds.array()以获取机器人当前订阅的所有公会的列表。我将其保存到其他程序使用的数据库中。

然而,当人们从他们的行会中添加/删除僵尸程序时,我想保留一个更新的行会列表。我意识到我可以每分钟重新运行clients.guilds.array(),但这似乎效率低下。

当您的机器人被添加到公会和/或频道时是否会触发事件?根据我的阅读,guildMemberAdd事件似乎触发了已经订阅公会的所有用户/机器人。是否有任何此类事件让你的机器人知道何时被添加到公会?

1 个答案:

答案 0 :(得分:4)

是的,您可以在客户端事件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
})