Проблема с последовательностью листнеров

Есть тг бот. Есть листнер на степ регестрацию. И его нужно останавливать при одном сообщении.

код который должен останавливать выглядит так:

bot.onText(/? Скасувати запис/, async (msg) => {
    const chatId = msg.chat.id
    const user = users[chatId]
    try {
        if (await user.get("action") == "consultation") {
            await bot.sendMessage(chatId, '? Запис на консультацію була скасована');
            await delete users[chatId];
        }
    } catch (error) {
        console.error(error);
    }
})

и после этого листнера идет второй тот который должен остановиться:

bot.on("message", (m) => {...})

но второй листнер все равно успевает выполнится до того как данные, которые проверяются на наличие в втором листнере, удаляются.

и есть третий листнер:

bot.onText(/\/consultation/, (msg) => {...})

этот листнер дает возможность второму начинать степ регестрацию

Как решить данную проблему?


Ответы (0 шт):