2017-02-12 12 views
0

Я пытаюсь сделать команду, в которой он будет проверять упомянутых пользователей и сохранять их в массиве, поэтому я могу использовать метод на нем и т. Д.Целевые пользователи с командами - discord.js

Например,, давая кому-то роль.


Сохранить пользователь (ей), указанный в сообщении (message.mentions.users) в массив
Дайте пользователь (ы) упоминается определенная роль (или какой-либо другой метод)


+0

Что вы пробовали уже? Вы пытаетесь объединить массив 'message.mentions.users' с другим массивом? – Mateus

+0

Нет, я не пытаюсь скопировать массивы в другой массив. Я хочу использовать ключи в массиве message.mentions.users (упомянутые пользователи) и дать им роль. – Meh

ответ

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

Таким образом, вы можете легко выполнить команду для каждого из них.

Но для придания им роли, вы должны использовать Back-End API (HTTP запросов)

PUT/DELETE/API/гильдий/{guildId}/члены/{идентификатор пользователя}/роли/{} [1] Идентификатор роли

HTTP-запросов можно сделать с помощью AJAX JQuery в: (Вспоминая все раздоры запросы Базовый 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 в их идентификатор, который вы могли бы легко сделать, используя петлю .forEach().

UPDATE

Пример:

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 
     }; 
    }); 
}); 
+0

Если 'user [Object (user) [0]]' получит ключ для идентификатора пользователя от объекта, как бы я мог взаимодействовать с ним, как вы могли бы с помощью 'message.author. [Method]' или 'message.member . [Способ] '? Или мне нужен jQuery? Я никогда не использовал jQuery или ajax, и я довольно новичок в JavaScript, поэтому idk. \ * shrug \ * – Meh

+0

Нет ... вы ошибаетесь. 'forEach' просто перебирает массив. «Пользователь» из переменной в цикле 'forEach' выше должен выполнять ** каждый ** пользователь, поэтому, если вы используете:' console.log (пользователь [Object (пользователь [0])]) ', как вы упомянули, он должен распечатать идентификатор каждого. Аякс jQuery предназначен только для того, чтобы дать им роль. Если вы не знакомы с HTTP-запросами, я предлагаю вам изучить его как можно скорее.Они собираются делать запросы к API Discord или любым другим Back-End API, в котором вы нуждаетесь. – Mateus

+0

Хорошо, я искал jQuery и HTTP-запросы и тому подобное. Значит, мне нужно, если бы я хотел запретить/ударить кого-то? – Meh

 Смежные вопросы

  • Нет связанных вопросов^_^