使用命令定位用户



我正在尝试制作一个命令,它将检查提到的用户并将其保存到数组中,以便我可以在其上使用方法等。

例如,给某人一个角色。


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


检查提到的用户并将其保存到数组中

那不是必需的。 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 完成:(记住所有不和谐请求 基本网址应 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
        };
    });
});

最新更新