我对异步相当陌生,我试图通过私有消息获得用户对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。
提前感谢您的帮助!
根据官方文档使用msg.channel.AwaitMessages
而不是msg.AwaitMessages
。