Немножко оффтоп, но может кому-то будет интересно
В общем сделал ту часть, вот как это примерно выглядит, не надо никаких стейтов и т.п., просто вызываешь .RequestEntityAsync(...) и всё, можно определить количество попыток у юзера, проверять приходящий entity на соответствие требованиям каким-то, например длинна сообщение должна быть от 10 до 15-и символов, и т.д, ну или же как у меня, идёт проверка на нажатую кнопку, + планирую в рамках интеграции либы с телегой добавить билдеры для клавиатур