Я разрабатываю команду для бота-несогласного, который шаг за шагом направляет пользователя при создании встроенного сообщения.
Эта конфигурация состоит из нескольких этапов, поэтому бот попросит у пользователя несколько входы, один за другим, такие как заголовок, описание, поля и т. д. c.
бот : запрос ввода 1. 1. 1007 * пользователь : ответ с помощью ввода 1 .
бот : запрос на ввод 2. пользователь : ответ с вводом 2.
бот : запрос на ввод 3. пользователь : пропуски.
бот : запрос ввода 4. 4. 1025 * пользователь : ответ с вводом 4.
Я попытался использовать messageCollector:
if (message.content.startsWith(`${prefix}embed`)) {
// first part of the code here
// then, wait for user's input
const collectorTitle = new Discord.MessageCollector(message.channel, m => m.author.id === message.author.id, { time: 10000 });
collectorTitle.on('collect', message => {
// save title or skip
});
// wait for second user's input
const collectorDescription = new Discord.MessageCollector(message.channel, m => m.author.id === message.author.id, { time: 10000 });
collectorDescription.on('collect', message => {
// save description or skip
});
// rest of the inputs
}
Но это работает только для первого ввода. Я не нашел способа остановить первый сборщик и перейти к следующей части кода.
Я пытался остановить первый messageCollector
с условием if, пытался поставить один перед условием сборщик и один после сборщика, но код всегда застревает на этом messageCollector
и не продолжается.