Задать вопрос
@xxmarfixxx

Как сделать диалог в чат боте для ВК?

Приветствую. Я пишу чат-бота для ВКонтакте через 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 раз. Можете подсказать, как сделать?
  • Вопрос задан
  • 128 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы