【发布时间】:2019-07-01 22:21:19
【问题描述】:
这是我的角色命令。
我正在尝试使用startsWith 来赋予角色:如果arg 的第一个字母与角色相同,则应将其分配给用户。
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`);
};
我更新了当前代码,但仍然无法根据 args 或首字母给出角色!
【问题讨论】:
-
您是否尝试过记录
name的值、msg.guild.roles中的角色以及role的值?这些值显示了什么,你的代码当前做了什么,你得到了什么错误?
标签: discord discord.js