Да, запоминать состояние чата для пользователя это единственный нормальный вариант. проще всего запоминать его локально, то есть хранить состояни в карте или в чём угодно дургому. Вам нужно что бы бот что-то ожидал от чата, а для этого ему нужно установить некоторое состояние, напрмиер то бы он ждал номер телефона, и если пользователь указвыает валидный номер телефона вы переходите далее, иначе говорите ему, что номер какой-то странный и остаетесь в этом состоянии. Желаетльно дать пользователю возможность выйти из этого состояния бота, то есть дать возможность отменить ввод телефона.