我无法使用用户 ID 向用户发送 DM

时间:2020-12-28 17:11:56

标签: discord.js

我尝试了文档、本网站以及更多内容中的代码,但它们都给了我同样的错误: 类型错误:无法读取未定义的属性“发送” 这是我的代码:const user = client.users.cache.get('id-here'); user.send('test');

1 个答案:

答案 0 :(得分:0)

由于去年 10 月生效的 Discord API 的最新变化,Discord.js 将仅缓存需要缓存的用户,例如发送消息或类似内容的用户。因此,需要首先获取用户。为此,您必须使用 UserManager.fetch()

由于 client.usersUserManager,您可以调用以下方法向用户发送消息:

client.users.fetch('id-here').then(user => {
    user.send('test');
})

由于 .fetch() 是一个 Promise,你必须使用 .then(或使用 async/await)才能获取 Promise 的结果,也就是 User在这种情况下,ID 对应于。