Javascript 用户nulls上一条消息为null
我正试图获取discord.js命令来说出用户的最后一条消息,但它返回了该消息 用户为空最后一条消息为空 代码:Javascript 用户nulls上一条消息为null,javascript,node.js,discord,discord.js,bots,Javascript,Node.js,Discord,Discord.js,Bots,我正试图获取discord.js命令来说出用户的最后一条消息,但它返回了该消息 用户为空最后一条消息为空 代码: switch (args[0]) { case 'lastmessage': let user = msg.mentions.members.first(); console.log(msg.author.username); msg.channel.send(`User ${user.nickname}s last message was ${user.
switch (args[0]) {
case 'lastmessage':
let user = msg.mentions.members.first();
console.log(msg.author.username);
msg.channel.send(`User ${user.nickname}s last message was ${user.lastMessage}`);
}
这是因为
.lastMessage
不是user
的属性,而是msg.guild.member(user)
因此,要修复您的错误:
case 'lastmessage' :
let user = msg.mentions.members.first();
console.log(msg.author.username)
msg.channel.send("User ${user.nickname}s last message was ${msg.guild.member(user).lastMessage}")
但是,这只会发送bot拾取的最后一条消息,因此,如果您重新启动bot,并且您提到的人在您重新启动bot后没有发送消息,则该消息仍然为空。为了防止出现这种情况,可以检查属性是否为null
让lastMsg=msg.guild.member(user).lastMessage
if(!lastMsg)return msg.channel.send(“该用户自上次tim机器人重新启动以来从未发送过消息!”)
//然后是其他的