Discord.JS试图向用户发送消息

时间:2020-03-31 19:52:03

标签: discord.js

我正在尝试通过其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替换了消息。这是我的第一个问题。)

1 个答案:

答案 0 :(得分:1)

Client.users.fetch不会返回用户,它会返回用户的承诺,但需要花费一些时间才能解决。您需要使用.thenasync/await处理异步执行。

client.users.fetch('ID').then(user => user.send('Message'));