我正在尝试为我的不和谐服务器创建一个定时静音机器人,但是它说“ Person.removeRole不是一个函数”有没有解决办法?
bot.on('message', message => {
let args = message.content.substring(PREFIX.length).split(" ");
switch (args[0]) {
case 'mute':
var person = message.guild.member(message.mentions.users.first() || message.guild.members.cache.get(args[1]));
if (!person) return message.reply("I can't find the user noob ");
let mainrole = message.guild.roles.cache.find(role => role.name === "Epic Members");
let role = message.guild.roles.cache.find(role => role.name === "mute");
if (!role) return message.reply(" can't find the mute role noob, Create a mute role named 'mute'.")
let time = args[2];
if (!time) {
return message.reply("Put a dman time u noob");
}
person.removeRole(mainrole.id)
person.addRole(role.id);
message.channel.send(`@${person.user.tag} has now been muted for ${ms(ms(time))}`)
setTimeout(function() {
person.addRole(mainrole.id)
person.removeRole(role.id);
console.log(role.id)
message.channel.send(`@${person.user.tag} has been unmuted noob`)
}, ms(time));
break;
}
});
[.addRole()
和.removeRole()
方法仅存在于v11(GuildMember
)中的docs类中:如果使用discord.js@v12,则需要使用GuildMember.roles
属性:] >
GuildMember.roles
检查您是否使用discord.js V12并使用:
请参阅此文档,该文档可以真正为您提供帮助:) Discord.js: Role Manager -> add