const { MessageEmbed } = require("discord.js");
module.exports = {
name: 'unmute',
async execute (client, message, args) {
let user = message.guild.member(message.mentions.users.first());
let muteRole = message.guild.roles.cache.find(r => r.name === 'Muted');
if (!user.roles.cache.has(muteRole.id)) return message.reply("Is not Muted");
user.roles.remove(muteRole.id);
}
};
此代码在2周前有效,现在有一个错误,请帮助我!
答案 0 :(得分:0)
似乎没有任何Muted角色。该错误清楚地说明了Cannot find 'id' of undefined
,并且我看到的.id唯一使用的是Muted角色。
只需说一遍,您还需要说出控制台指出错误的位置。只是说“这是错误”没有帮助。
您可能要使用此:
const { MessageEmbed } = require("discord.js")
module.exports = {
name: 'unmute',
async execute(message, args) {
var user_to_mute = message.mentions.user.first()
.catch(err) {
console.error(err)
return message.reply("Could not find user in cache!")
}
var muted_role = message.guild.roles.cache.find(x => x.name == "Muted")
.catch(err) {
console.error(err)
return message.reply("Could not find role in cache!")
}
if (user_to_mute.has(muted_role)) return message.reply("User isn't muted!")
user_to_mute.removeRole(muted_role).catch(console.error)
}
};