删除角色错误 我的代码:
bot.on('message', message => {
let prefix = "t?";
let args = message.content.substring(prefix.length).split(" ");
switch (args[0]) {
case 'mute':
let person = message.mentions.users.first(); message.guild.members.fetch(args[1])
if(!person) return message.reply("couldnt find member");
let mainrole = message.guild.fetch(role => role.name === "member");
let muterole = message.guild.fetch(role => role.name === "muted");
if(!muterole) return message.reply("couldn't find mute role");
let time = (args[2]);
if(!time) {
return message.reply("how long? <:Thonk:582005026470363137>");
}
person.removeRole(mainrole.id);
person.addRole(muterole.id);
channel.send(`@${person.user.tag} has now been muted for ${ms(ms(time))}`);
setTimeout(function(){
person.addRole(mainrole.id);
person.removeRole(muterole.id);
message.channel.send(`@${person.user.tag} has been unmuted.`);
}, ms(time));
break;
}
});
,它弹出并显示错误提示“删除角色不是函数” 有谁知道如何不和谐地解决这类问题
答案 0 :(得分:0)
您将GuildMember与User混淆了。
用户是不和谐的人,GuildMemebr是与特定公会有关的不和谐的人。例如,您可以向用户或公会成员DM,因为直接消息与公会无关,但是您不能从用户中删除角色,因为用户与公会没有关联,没有要删除的角色。
因此,您需要获取message.mentions.members
而不是message.mentions.users
此文档位于MessageMentions
中