如何在不和谐的机器人上设置服务器特定变量?
How to set server specific variables on a discord bot?
所以,我正在使用 node.js 创建一个 discord 机器人。我需要帮助制作服务器特定变量(不能在其他服务器上使用或可能不同)
我搜索了一些东西,唯一的结果是通过公会 ID 跟踪我的变量。问题是它使用 'message.guild.id',这意味着我无法在检查消息之前使用它。
设置前缀的代码应该是这样的:
function setPrefix(message, arguments){
prefix[message.guild.id] = arguments
}
这就是我想在代码开头设置它的方式:
prefix = {}
prefix[guild.id] = "@"
我试过了,但是,当然,我无法获得那样的公会 ID,所以每次我尝试时它都是未定义的。我能做什么? (请注意我不是很有经验)
您会在 <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")
所以,我正在使用 node.js 创建一个 discord 机器人。我需要帮助制作服务器特定变量(不能在其他服务器上使用或可能不同)
我搜索了一些东西,唯一的结果是通过公会 ID 跟踪我的变量。问题是它使用 'message.guild.id',这意味着我无法在检查消息之前使用它。
设置前缀的代码应该是这样的:
function setPrefix(message, arguments){
prefix[message.guild.id] = arguments
}
这就是我想在代码开头设置它的方式:
prefix = {}
prefix[guild.id] = "@"
我试过了,但是,当然,我无法获得那样的公会 ID,所以每次我尝试时它都是未定义的。我能做什么? (请注意我不是很有经验)
您会在 <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")