类型错误:无法读取未定义的属性"用户"



我试图创建一个const成员,但它显示"TypeError: Cannot read property 'users' of undefined">

module.exports = {
name: 'welcome',
description: 'welcome',
execute(message, args, Discord) {
const member = message.mentions.users.first();
if(message.member.permissions.has('ADMINISTRATOR')){
message.channel.send(
new MessageEmbed()
.setTitle('title')
.setImage('imageurl')
.setDescription('desc')
)
}else{
return message.channel.send(`You don't have any permissions to do that!`)
}
}
}

正如特雷弗·汤普森评论的那样。那是因为你没有提到任何人。我已经测试过了,它有效。以下是你应该使用的:

module.exports = {
name: 'welcome',
description: 'welcome',
execute(message, args, Discord) {
const member = message.mentions.users.first();
if (!member) { // If a user is not mentioned
message.channel.send(`Hey ${message.author} you need to mention a user to welcome!`)
return false; // < Even after it checks if a user is mentioned or not, use return false; This will prevent you from getting error of `users` being undefined
}
if(message.member.permissions.has('ADMINISTRATOR')){
message.channel.send(
new MessageEmbed()
.setTitle('title')
.setImage('imageurl') 
.setDescription('desc')
)
}else{
return message.channel.send(`You don't have any permissions to do that!`)
}
}
}

这是因为提及未定义,您可以通过在提及后面添加问号来忽略此错误。

const member = message?.mentions?.users.first();

最新更新