我正在尝试创建一个命令,它会检查所提到的用户并将其保存到数组中,因此我可以在其上使用方法等。
例如,给某人一个角色。
将消息(message.mentions.users
)中提到的用户保存到阵列
为用户提供指定的角色(或其他方法)
答案 0 :(得分:0)
检查提及的用户并将其保存到阵列
不需要。 message.mentions.users
已经是一个数组,您仍然可以通过创建另一个变量来保存它,但是为了给它们一个角色,您只需为每个执行一个命令。
为此,我们将使用.forEach()
方法:
var userlist = message.mentions.users; // Saving userlist to a variable
userlist.forEach(function(user){
console.log(user); // This should log every mentioned user
});
通过这种方式,您可以轻松地为每个命令执行命令。
但是为了给他们一个角色,你必须使用后端API(HTTP请求)
PUT / DELETE / api / guilds / {guildId} / members / {userId} / roles / {roleId} [1]
HTTP请求可以使用jQuery的ajax完成: (记住所有不和请求基本URL应为https://discordapp.com/api):
$.ajax({
url: '/api/guilds/{guildId}/members/{userId}/roles/{roleId}',
type: 'PUT', // Or delete
success: function(result) {
// Do something with the result
}
});
您只需要将message.mentions.users
转换为其ID,您可以使用.forEach()
循环轻松完成此操作。
<强>更新强>
示例:
var userlist = message.mentions.users; // Saving userlist to a variable
userlist.forEach(function(user){
$.ajax({
url: '/api/guilds/' + message.guild.id + '/members/' + user + '/roles/{roleId}', // In this case the ID of the role
type: 'PUT', // Or delete
success: function(result) {
// Do something with the result
};
});
});