Node.js 如何在discord bot上设置特定于服务器的变量?

Node.js 如何在discord bot上设置特定于服务器的变量?,node.js,discord.js,Node.js,Discord.js,因此,我正在使用node.js创建一个discord bot。我需要帮助创建特定于服务器的变量(不能在其他服务器上使用或可能不同) 我搜索了一些东西,唯一的结果是通过公会id跟踪我的变量。问题是它使用了“message.guild.id”,这意味着在检查消息之前我不能使用它 下面是设置前缀的代码的外观: function setPrefix(message, arguments){ prefix[message.guild.id] = arguments } 这就是我想在代码开头设置它

因此,我正在使用node.js创建一个discord bot。我需要帮助创建特定于服务器的变量(不能在其他服务器上使用或可能不同)

我搜索了一些东西,唯一的结果是通过公会id跟踪我的变量。问题是它使用了“message.guild.id”,这意味着在检查消息之前我不能使用它

下面是设置前缀的代码的外观:

function setPrefix(message, arguments){
    prefix[message.guild.id] = arguments
}
这就是我想在代码开头设置它的方式:

prefix = {}
prefix[guild.id] = "@"

我试过了,但是,当然,我不能得到那样的公会id,所以每次我试的时候它都是未定义的。我能做什么?(请注意,我不是很有经验)

您将在中找到您的机器人所属的所有协会的列表。您只需要对它们进行迭代并设置所需的前缀

将机器人所在的每个公会Id的前缀设置为“@”的快速代码段:

var Discord = require("discord.js");

var client = new Discord.Client();

var prefix = {};
var defaultPrefix = "@";

client.on("ready", function(){
    var allGuilds = client.guilds;
    //initialize all prefixes to a default prefix
    allGuilds.tap(function(guild){
        prefix[guild.id] = defaultPrefix;
    });
});

client.login("BOT_TOKEN")