提问者:小点点

discord.js V12 TypeError:无法读取未定义的属性“send"


在为我的机器人发出命令时,我遇到了错误

"TypeError: Cannot read property 'send' of undefined"

在使用命令时,由于整个代码有点长,而且我不想包含不必要的细节,我认为问题出在这一行

client.users.cache.get(customer).send(`Your order has been claimed and will be delivered soon.`);

因为当我删除这一行时,命令可以正常工作,但是我不太确定它有什么问题,所以顺便说一下,“customer”是在代码的开头用

let customer = message.author.id

共2个答案

匿名用户

老实说,我很困惑,为什么您已经有了一个用户对象,即,却得到了两个不同的用户对象。

如果您不知道,方法将返回您所引用的消息创建者的,因此,为什么用您已经拥有的消息创建者对象的id创建另一个用户对象是没有意义的,至少在我看来是这样。

您可以非常简单地改为:

message.author.send('...')

这将向原始消息创建者发送DM消息。另外,如果这仍然碰巧发生,请尝试控制台日志记录,因为您的回调可能会搞砸。我很乐意帮助不和(BQRE.0001)如果这个问题继续发生-如果和当你这样做,请首先控制台日志和准备发送给我完整的错误。

匿名用户

看起来你试图发送消息给的用户要么没有缓存,要么不存在,确保“customer”实际上是一个ID,或者尝试缓存公会中的所有用户,看看这是否解决了问题。