尝试以编程方式向成员添加角色时遇到问题。 member.roles.add
引发以下错误:
(node:9420) UnhandledPromiseRejectionWarning: TypeError [INVALID_TYPE]: Supplied roles is not a Role, Snowflake or Array or Collection of Roles or Snowflakes.
我试图将角色的id
和name
传递给add
方法,但这也不起作用。我在这里做错了什么?任何朝着正确方向的指针将不胜感激。
下面是应用角色本身(在其上下文中)的功能,以更好地理解我的问题:
bot.on('message', msg=>{
if(msg.content.match(/[`!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~]/)) {
if((msg.content.match((new RegExp(/[`!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~]/, "g")) || []).length) >= 30) {
msg.channel.send(`${"<@" + msg.author.id + ">"}. Your message has been deleted for containing too many special characters.`);
const guild = bot.guilds.cache.get(GUILD_ID_HERE);
let mute_role = msg.guild.roles.cache.find(role => role.name === 'spammer');
var member = guild.members.cache.get(msg.author.id);
member.roles.add(mute_role);
msg.delete();
}
}
...