Как заставить бота телеграмм ждать второе сообщение?
Проверить есть ли в БД сообщение от этого пользователя.
Если нет, то занести его туда.
Если есть - то сравнить.
Суть квеста - конечный автомат. Который един для всех пользователей. Соответственно просто нужно реализовать "протокол" прохождения, привязанный к конкретному пользователю. Тогда бот при получении сообщения всегда будет знать на каком шаге находится каждый конкретный пользователь.
Либо движение по направленному графу. Когда точно известно на каком шаге находишься и, например, кнопками выводить варианты ответов. Тогда точно известно как продолжить с любого шага. Можно не вести протокол с привязкой к пользователям.