使用命令定位用户

时间:2017-02-12 17:02:13

标签: javascript arrays discord discord.js

我正在尝试创建一个命令,它会检查所提到的用户并将其保存到数组中,因此我可以在其上使用方法等。

例如,给某人一个角色。

将消息(message.mentions.users)中提到的用户保存到阵列
为用户提供指定的角色(或其他方法)

1 个答案:

答案 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
        };
    });
});