这是我的代码:
let userdd = bot.users.cache.get(args[1])
let messaged = args[2]
if(!messaged) return message.channel.send("Please specify a message!")
userdd.send(messaged)
但它有这个错误:
Cannot read the property of "send" of undefined
我尝试了其他方法,例如:
let userdd = bot.users.fetch(args[1])
userdd.send(messaged)
和
let userdd = bot.users.fetch(args[1])
let person = bot.users.cache.get(userdd.id)
person.send(messaged)
两者都给出这个错误:"Cannot send messages to this user"
我在不同的人身上尝试了这个命令,这些人有 DM 并且有机器人的相互服务器,但仍然存在那个错误。
知道如何修复/有其他方法可以做到这一点吗?
答案 0 :(得分:0)
正如错误消息所暗示的,undefined 没有属性发送。这意味着 userdd 变量未定义。尝试 bot.users.fetch(args[1]).then(person => {
person.send(messaged);
});
是正确的,但这是一个承诺,因此您必须这样做:
.then
.cache.get()
不需要 .fetch
因为它几乎是即时的,因为它被缓存,而 {{1}} 需要很长时间,您必须等待用户实际在您对用户执行任何操作之前被发现。