我尝试了文档、本网站以及更多内容中的代码,但它们都给了我同样的错误:
类型错误:无法读取未定义的属性“发送”
这是我的代码:const user = client.users.cache.get('id-here'); user.send('test');
答案 0 :(得分:0)
由于去年 10 月生效的 Discord API 的最新变化,Discord.js 将仅缓存需要缓存的用户,例如发送消息或类似内容的用户。因此,需要首先获取用户。为此,您必须使用 UserManager.fetch()
。
由于 client.users
是 UserManager
,您可以调用以下方法向用户发送消息:
client.users.fetch('id-here').then(user => {
user.send('test');
})
由于 .fetch()
是一个 Promise,你必须使用 .then
(或使用 async/await)才能获取 Promise 的结果,也就是 User
在这种情况下,ID 对应于。