如何在Discord机器人上设置服务器特定的变量?

时间:2019-02-02 17:24:47

标签: node.js discord.js

因此,我正在使用node.js创建一个Discord机器人。我需要帮助制定服务器特定的变量(不能在其他服务器上使用,也可以是不同的网络)

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

这是设置前缀的代码的外观:

c260962e-511e-9e4b-9a86-6db1a2770422

这就是我想在代码开始处进行设置的方式:

function setPrefix(message, arguments){
    prefix[message.guild.id] = arguments
}

我尝试过,但是,当然,我无法获得那样的公会ID,因此每次尝试时它都是不确定的。我能做什么? (请注意我不是非常有经验)

1 个答案:

答案 0 :(得分:0)

您将在<Client>.guilds中找到您的漫游器所属的所有公会的列表。您只需要遍历它们并设置所需的前缀即可。

快速摘要,将机器人所在的每个公会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")