В bot api telegram и не должно быть методов для работы с состояниями.
Состояния это уже логика самого приложения, а api это интерфейс для работы с мессенджером.
Самый простой вариант для состояний:
1. Делаем таблицу state, в которой храним id пользователя и его текущее состояние.
2. При каждом обращении к боту проверяем в каком состоянии пользователь. Если обращение в первые, то создаем запись.
3. В логике бота смотрим при каких состояниях, что должно происходить.
Можно все в базу писать, можно redis использовать, можно в памяти держать (если скрипт бота постоянно работает, а не через вебхуки запускается скрипт и после выполнения завершается).