Не могу использовать вопрос от StartWith Discord.js - PullRequest
0 голосов
/ 07 февраля 2019

это моя команда ролей.
Я пытаюсь использовать startsWith для назначения ролей: если первые буквы аргумента совпадают с ролью, они должны быть назначены пользователю.

exports.run = async function (msg,args) {
  if(!msg.member.hasPermission('MANAGE_ROLES')) return;
  const member = msg.mentions.members.first();
  const name = msg.mentions.users.size ? args.replace(/ +/, ' ').split(' ')[1] : args;
  const role = msg.guild.roles.find(r => r.name.toLowerCase().startsWith(name.toLowerCase()));
  if (name && !role.size) return msg.channel.send("Role Not found");
  if (name && role.size > 1) return msg.channel.send("There is similar roles , Please supply more letters");
  await member.addRole(role);
  msg.channel.send(`**Role \`${role}\`  Given to **${member} Succesflly`);
};

Я обновил текущий код, но все еще не могу дать роли в зависимости или первые буквы от аргументов!

1 Ответ

0 голосов
/ 07 февраля 2019

Использовать версию функции .find() было хорошей идеей, но ваша ошибка в том, как вы используете .startsWith(): это не свойство, а метод.

const role = msg.guild.roles.find(r => r.name.toLowerCase().startsWith(args.split(/ +/g).slice(1).join(' ').toLowerCase()));
...