Ну тоже самое другим путём, не вижу разницы между хранением була, что юзер есть и узнавать, что юзер есть по ходу.
Типа какая разница где поставить if
я топлю за такой подход руководствуясь только логичностью. Опять же, FSM это шаги движения юзера по программе, от них зависит в какой момент ждать ввод имени, нажатия кнопки, а также вывода приветствия (и записи в базу, почему нет?). Если человек написал в бот и у него нет стейта, ему высылается приветствие, устанавливается первый стейт, ожидается что-то для дальнейшего действия. Ну, и также он попадает в БД. Как только у него закреплён первый стейт, становится ясно, что он «одомашнен»)).
В дальнейшем, первый хэндлер с фильтром на state=None отсеивает новоприбывших людей, и направляет их на этап «регистрации». Тех же, кто уже имеет какое-то состояние, отправляются по своим веткам и сюжетам. Почему же «fsm не для этого»? Вернее, почему я не могу её так использовать?