提问者:小点点

异步函数discord.js中的awaitMessages


我对异步相当陌生,我试图通过私有消息获得用户对bot的响应。我以前在同步中做过,但不是异步。我有工作代码,它正确地等待我在下面代码中工作的反应,但是它的工作方式(显然)与我在运行(node:10080)unhandledPromiserEjectionWarning:TypeError:Msg.AwaitMessages is not a function时的错误不一样。

我在尝试寻找awaitMessages,以便在异步函数中为私有消息工作,但它看起来比在私有消息Discord.js中放置类似于这个问题的答案Await reply的内容要复杂得多

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(", ")

我只是想让这个问题被问出来,并等待用户在一个私人消息中回复discord bot。在上面的代码段之后运行的一些代码(一旦声明了cardsToAdd)最终会检查列表中的每一张卡是否都存在于mysql数据库中,并将成功的卡推送到一个数组中以供以后使用,并将失败的卡发送到private Chat。

提前感谢您的帮助!


共1个答案

匿名用户

根据官方文档使用msg.channel.AwaitMessages而不是msg.AwaitMessages