异步函数discord.js中的awaitMessages

时间:2019-06-05 12:15:27

标签: node.js asynchronous async-await discord

我对异步还很陌生,我正尝试通过私人消息将用户的响应发送给机器人。我已经在同步之前做到了这一点,但不是异步的。我的工作代码可以正确等待以下代码中的响应,但是(显然)它与运行(node:10080) UnhandledPromiseRejectionWarning: TypeError: msg.awaitMessages is not a function时出现错误的方式不同(显然)。

我一直在尝试寻找awaitMessages以在异步函数内处理私人消息,但它看起来比将类似问题的答案Await reply in private message discord.js

放起来要复杂得多。
async function cardExists() {
let matchedcards = []

let msg = await message.author.send(`Please provide the cardnames that you would like to add to '${userdeckname}'.\n\n**NOTE:** Please separate each card with a comma and space, like so "Pact of Darkness, Aquos Slam, Karmic Balance"`)

const filter = m => m.author.id === message.author.id
const reply = await msg.awaitMessages(filter, { max: 1 })
.catch(console.error);

let cardsToAdd = reply.first()

let usercardnamearray = cardsToAdd.content.split(", ")

我只是想问这个问题,然后等待用户以私信方式答复不和谐的bot。在上面的代码段(声明了cardsToAdd之后)之后运行的一些代码最终检查列表中的每张卡是否都存在于mysql数据库中,并将成功的卡推入数组以供以后使用,然后将失败的卡发送给私有聊天。

谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

根据official documentation,使用msg.channel.awaitMessages代替msg.awaitMessages