是什么引起UnhandledPromiseRejectionWarning:TypeError:无法读取我的代码中未定义的属性“ id”?

时间:2019-03-30 01:47:01

标签: javascript node.js bots discord.js

我正在制造Discord机器人,并且在运行discord机器人时收到错误UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'id' of undefined in cmd.exe,有人可以告诉我我做错了什么,还是需要显示更多代码?

let pUser = message.guild.member(message.mentions.users.first()) || message.guild.members.get(args[0]);

{some code here}

let pCoins = userData[pUser.id].money;

2 个答案:

答案 0 :(得分:0)

下方

let pUser = message.guild.member(message.mentions.users.first()) || message.guild.members.get(args[0]);

添加一个:

if(!pUser) return message.channel.send('You need to provide a valid mention or user id!');

如果未找到用户,这将停止命令的其余部分,因此将停止发生错误。

答案 1 :(得分:0)

该错误表示#* @post /myapi fun_2 <- function(x, y = c("a", "b", "c"), z = c("d", "e", "f"){ fun_1(x, y, z) } pUser。由于它是这样定义的:

undefined

let pUser = message.guild.member(message.mentions.users.first()) || message.guild.members.get(args[0]); 强制为假布尔值,这意味着undefined(OR语句的右侧部分)的计算结果为message.guild.members.get(args[0])。我认为这可能是因为您的命令中以undefined的身份传递的用户ID与公会中的任何成员都不匹配。