Приветствую. Я пишу чат-бота для ВКонтакте через Node.JS, на библиотеке VK-IO.
Есть массив tabl. В нём собраны данные о уроках в Московской Электронной Школе (МЭШ).
Учителя добавляют свои уроки в массив через команду "добавить". Синтаксис команды такой:
добавить [ID урока] [Название урока] [Предмет] [Кодовое слово].
Код у команды такой:
cmd.hear(/^(?:добавить)\s?([0-9]+)?\s([^]+)?\s([^]+)?\s([^]+)?/i, async (message, args, bot) => {
if(message.user.adm < 3) return;
tabl.push(
{
id: `${message.args[1]}`,
name: `${message.args[2]}`,
predmet: `${message.args[3]}`,
kod1: `${message.args[4]}`,
uid: tablcount
});
tablcount = tablcount + 1
saveConfig();
await message.send(`Вы успешно добавили урок в Библиотеку уроков бота.\n Посмотреть его можно по команде: "мэш [кодовое слово]".`);
});
При команде "добавить 691326 Файловая_система Информатика Файл", массив принимает значение:
[
{
"id": "691326",
"name": "Файловая_система",
"predmet": "Информатика",
"kod1": "Файл",
"uid": 0
}
]
Параметр "uid" — порядковый ID урока в массиве.
Проблема в том, что каждый параметр может быть только одним словом. А мне нужно, чтобы было несколько кодовых слов, или даже фраз.
Недавно видел где-то в интернете штуку под названием "цепочка".
Смысл в том, что Бот отправляет сообщение и ждёт ответ; записывает ответ №1, отправляет следующее сообщение и снова ждёт ответ. Такая цепочка может продолжаться бесконечно, но мне нужно, чтобы она повторилась 5 раз. Можете подсказать, как сделать?