当 Discord 机器人加入公会时会触发什么事件?
What event is fired when a Discord bot joins a guild?
我正在使用 Discord.js 创建一个基本的 Discord 机器人。首次启动机器人时,我 运行 client.guilds.array()
获取机器人当前订阅的所有公会的列表。我将其保存到其他程序使用的数据库中。
但是,随着人们在他们的公会中添加/删除机器人,我想保留一份更新的公会列表。我意识到我可以每分钟重新 运行 clients.guilds.array()
或什么的,但这似乎效率低下。
当您的机器人被添加到公会 and/or 频道时是否会触发一个事件?根据我的阅读,guildMemberAdd
事件似乎会为所有 已经 订阅公会的用户/机器人触发。有没有这样的事件让你的机器人知道它何时被添加到公会?
是的,您可以在客户端事件中查看它 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
})
我正在使用 Discord.js 创建一个基本的 Discord 机器人。首次启动机器人时,我 运行 client.guilds.array()
获取机器人当前订阅的所有公会的列表。我将其保存到其他程序使用的数据库中。
但是,随着人们在他们的公会中添加/删除机器人,我想保留一份更新的公会列表。我意识到我可以每分钟重新 运行 clients.guilds.array()
或什么的,但这似乎效率低下。
当您的机器人被添加到公会 and/or 频道时是否会触发一个事件?根据我的阅读,guildMemberAdd
事件似乎会为所有 已经 订阅公会的用户/机器人触发。有没有这样的事件让你的机器人知道它何时被添加到公会?
是的,您可以在客户端事件中查看它 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
})