Всем привет! У меня есть такая идея телеграмм бота, написанный на nodeJS, который спрашивает у пользователя количество капель/таблеток, потом спрашивает их название. Процесс опроса происходит благодаря между Wizard сценами. Дальше по моей задумке, бот должен спрашивать про каждый препарат такие вопросы:
-Сколько дней вы будете принимать препарат?
-Сколько раз в день вы будете принимать препарат?
-Какой интервал приема?
Процесс опроса названия препаратов я сделал. Но передо мной встала проблема как теперь занести в объекты массива те свойства, которые я привел выше.
Ниже показываю, реализацию опроса про количество и наименования.
function PillsKeeper(pillsNumber) {
const totalPills = pillsNumber;
this.pillsArray = [];
this.addPills = function(pillName) {
if (this.pillsArray.length < totalPills) {
this.pillsArray.push(pillName);
}
console.log(`${this.pillsArray.length} / ${totalPills}, ${this.pillsArray[this.pillsArray.length - 1]}`);
return this;
}
this.showPills = function() {
return this.pillsArray;
}
return this; //pattern цепочка вызовов
}
let pillsKeeper;
const medsHandler = Telegraf.on('text', async ctx => {
if (!pillsKeeper) {
pillsKeeper = new PillsKeeper(pillsNumberTotal);
}
pillsKeeper.addPills(ctx.message.text);
await pillsKeeper.showPills().length === pillsNumberTotal
? (ctx.reply(`Всего введено препаратов: ${pillsKeeper.showPills().join(', ')}`), ctx.wizard.next())
: ctx.reply('Отличный препарат!!')
})
И на это моменте я застрял перед вопросом, создать класс, либо написать такую же функцию. Помогите, кто может.
Камнями прошу не кидаться, только тренируюсь!