https://github.com/telegraf/telegraf/blob/develop/docs/examples/wizard-bot.js
нууу как тебе сказать ))
и никаких асинков
reenter()
А можно тогда объяснение - как правильно? Я повторюсь - я пару дней назад писать бота начал, я еще многого не шарю. Нашел пример - сделал, получилось.
смотри простой пример Если ты сделаешь так: bot.hears('anystring', ctx => { ctx.reply('some text 1') ctx.reply('some text 2') }) то может случиться так, что текст в бота придет наооброт: сначала some text 2 а потом уже some text 1 Почему так происходит? Потому что ctx.reply - это всего лишь запрос на сервер тг. А сервер по разным причинам может принять/отправить запрос с разной скоростью. Чтобы такого не случилось надо преобразовать немного хэндлер bot.hears('anystring', async ctx => { await ctx.reply('some text 1') await ctx.reply('some text 2') }) Это гарантирует ожидание отправки сообщения первого сообщения и только потом отправки второго сообщения. Почитай про js promises и async / await https://learn.javascript.ru/async
Обсуждают сегодня