Я просто хотел спросить, как я добавляю команду, которая дает человеку роль. Так что вы можете ввести: «addRole @user#1234», и пользователь получит роль.
Можете ли вы опубликовать то, что вы пытались, и перечислить то, что вы пробовали из других руководств. Просто задав неопределенный вопрос здесь, вы не получите ответа.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Поскольку вы не привели никаких примеров кода, я собираюсь показать вам, как это сделать самостоятельно.
Во-первых, вам нужно получить две переменные: одну для роль, которую вы хотите передать, и одну для член, которую вы даете.
Вы можете получить роль по его идентификатору (также по имени, но используя Коллекция#найти)
Вы можете получить член от упоминания в сообщении, используя Сообщение#упоминания
let role = message.guild.roles.get('roleIdBetweenQuotes');
let member = message.mentions.members.first();
// A message can have more than one mention, which results in giving us a collection of members.
// So we have to use first() to get the first member in that collection.
После получения обеих переменных вам нужно будет добавить роль к член с помощью функции Член гильдии#addRole.
member.addRole(role)
.then(memberAdded => { // Optional
message.channel.send(`Added role ${role.name} to ${member.displayName}`);
})
.catch(error => {
console.info(error);
});
Добавляем роль к члену. Функция Член гильдии#addRole возвращает обещать, поэтому, чтобы отправить сообщение после нее, вам нужно дождаться, пока обещание будет разрешено, а затем отправить подтверждающее сообщение. Кроме того, вы можете зарегистрировать ошибку, если обещание будет отклонено.
мой код теперь выглядит так: let role = message.guild.roles.get('Stream 1'); let member = message.mentions.members.first(); if (msg.content === 'addRole') { member.addRole(role) .then(memberAdded => { // Optional message.channel.send(Добавлена роль ${role.name} в ${member.displayName}); }) .catch(error => { console.info(error); }); }
roles.get() можно получить роли только по их идентификатору, если вы хотите получить их по имени, вы должны сделать это: message.guild.roles.find(r => r.name === 'Stream 1');
Как всегда с кодом. Пожалуйста, создайте минимальный воспроизводимый пример, объясните, что вы пытались и где у вас не получилось.