awaitMessages внутри асинхронной функции discord.js - PullRequest
0 голосов
/ 05 июня 2019

Я довольно новичок в асинхронном режиме и пытаюсь получить ответ от пользователя на бот через личное сообщение. Я делал это раньше синхронно, но не асинхронно. У меня есть рабочий код, который должным образом ожидает реакции, с которыми я работал в следующем коде, но он, кажется, не работает так же (очевидно), как я получаю (node:10080) UnhandledPromiseRejectionWarning: TypeError: msg.awaitMessages is not a function как ошибку при запуске.

Я пытался найти awaitMessages для работы с личным сообщением внутри асинхронной функции, но это выглядит сложнее, чем поместить что-то вроде ответа на этот вопрос Ожидать ответ в личном сообщении 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(", ")

Я просто хочу, чтобы вопрос был задан, и жду, когда пользователь ответит в личном сообщении боту-диссонанту. Некоторый код, который запускается после приведенного выше фрагмента (после объявления cardsToAdd), заканчивает тем, что проверяет, существует ли каждая карта в списке в базе данных mysql, и выталкивает карты, которые преуспевают, в массив, который будет использоваться позже, и отправляет карты, которые отказывают, частному чат.

Заранее спасибо за помощь!

1 Ответ

0 голосов
/ 05 июня 2019

Используйте msg.channel.awaitMessages вместо msg.awaitMessages в соответствии с официальной документацией .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...