if (message.content === "!test"){
client.users.cache.get('id').send('message');
console.log("message sent")
}
此方法不起作用,我找不到任何其他有效的方法 是拼写错误还是这个方法已经过时了?
答案 0 :(得分:0)
实际上我自己也遇到过一次这个错误。您在这里可能会遇到两个问题:
DMChannel
要解决第一个问题,您必须先获取用户,然后再对其进行任何操作。请记住,这是一个 Promise,因此您必须使用 await
才能完成它或使用 .then(...)
。
const user = await client.users.fetch('id')
通过用户 ID 获取用户后,您可以创建一个 DMChannel
,它再次返回一个 promise。
const dmChannel = await user.createDM()
然后您可以像往常一样使用您的频道
dmChannel.send('Hello!')
答案 1 :(得分:0)
尝试创建一个这样的变量:
var user = client.users.cache.find(user => user.id === 'USER-ID')
然后这样做:
user.send('your message')