Вам нужно хранить для конкретного пользователя значение, которое вы будете проверять при новом сообщении юзера. К примеру: После того как пользователю предлагается написать свой город, вы можете записать в каком-либо хранилище\кеше - объект с ключем chat_id и значение. Далее при каждом новом сообщении юзера проверяем сначала ввел ли он команду "/cancel"\"Отмена", если да, то чистим объект с данным chat_id. Если же нет, то в следующей проверке пытаемся получить значение из хранилища\кеша. Найдено? пишем дальнейший код. Не найдено? проверяем какую команду ввел пользователь.