Написал простого бота на node js. Данный бот просто задает одни и теже вопросы, на которые надо отвечать из предложеных вариантов ответа. При первом запуске все нормально, но если начать цикл заново, то уже на втором вопросе он задает его дважды. Потом трижды и так далее. Я не понимаю почему так происходит.
Модуль для node js иcпользовал этот node-telegram-bot-api Ссылка
Сам код:
const TelegramBot = require('node-telegram-bot-api');
const token = "ВВЕДИТЕ_ВАШ_ТОКЕН";
const bot = new TelegramBot(token, {polling: true});
var l1 = "left";
var r1 = "right";
var g1 = "Good";
var b1 = "Bad";
bot.onText(/\/step2/, (msg) => {
bot.sendMessage(msg.chat.id, "Who is playing?\n And you must write <<И>>", {});
bot.on('text', (msg) => {
if (msg.text.toLowerCase().includes("и")) {
bot.sendMessage(msg.chat.id, "This is left or right?", {
"reply_markup": {
"keyboard": [[l1 , r1]]
}
});
bot.on('text', (msg) => {
if (msg.text === l1) {
bot.sendMessage(msg.chat.id, "Good or bad?", {
"reply_markup": {
"keyboard": [[g1 , b1]]
}
});
bot.on('text', (msg) => {
if (msg.text === g1) {
bot.sendMessage(msg.chat.id, "So, you can go \n /step3", {});
} else if (msg.text === b1) {
bot.sendMessage(msg.chat.id, "So, you can go \n /step3", {});
}
});
} else if (msg.text === r1) {
bot.sendMessage(msg.chat.id, "Good or bad?", {
"reply_markup": {
"keyboard": [[g1 , b1]]
}
});
bot.on('text', (msg) => {
if (msg.text === g1) {
bot.sendMessage(msg.chat.id, "So, you can go \n /step3", {});
} else if (msg.text === b1) {
bot.sendMessage(msg.chat.id, "So, you can go \n /step3", {});
}
});
}
});
} else {}
});
});
Что тут не так? Почему первый вопрос не повторяет? Как решить эту проблему, кроме бесконечного перезапуска программы?
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости