我正在尝试通过其ID向用户发送DM。我的代码是:
let asd = client.users.fetch('ID').send('Message')
此代码运行时出现的错误:
let asd = client.users.fetch('ID').send('Message')
^
TypeError: client.users.fetch(...).send is not a function
at Client.<anonymous> (C:\Users\your user name\Desktop\dokumentumok\Guardian\main.js:120:55)
at Client.emit (events.js:311:20)
at MessageCreateAction.handle (C:\Users\your user name\Desktop\dokumentumok\Guardian\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (C:\Users\your user name\Desktop\dokumentumok\Guardian\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (C:\Users\your user name\Desktop\dokumentumok\Guardian\node_modules\discord.js\src\client\websocket\WebSocketManager.js:386:31)
at WebSocketShard.onPacket (C:\Users\your user name\Desktop\dokumentumok\Guardian\node_modules\discord.js\src\client\websocket\WebSocketShard.js:435:22)
at WebSocketShard.onMessage (C:\Users\your user name\Desktop\dokumentumok\Guardian\node_modules\discord.js\src\client\websocket\WebSocketShard.js:293:10)
at WebSocket.onMessage (C:\Users\your user name\Desktop\dokumentumok\Guardian\node_modules\ws\lib\event-target.js:120:16)
at WebSocket.emit (events.js:311:20)
at Receiver.receiverOnMessage (C:\Users\your user name\Desktop\dokumentumok\Guardian\node_modules\ws\lib\websocket.js:801:20)
77
(这不是确切的错误消息,我用ID替换了ID,并用Message替换了消息。这是我的第一个问题。)
答案 0 :(得分:1)
Client.users.fetch不会返回用户,它会返回用户的承诺,但需要花费一些时间才能解决。您需要使用.then
或async/await
处理异步执行。
client.users.fetch('ID').then(user => user.send('Message'));