Это плохая идея! Библиотека выбирает первый обработчик, подходящий по условию (в данном случае content_types=["text"]) и остальные не использует вообще.
Рекомендую либо вставить проверку в каждый handler, либо оформить её как условие в декораторе:
@dp.message_handler(lambda message: not is_banned(message.from_user.id)
Можно также написать свой декоратор, чтобы писать просто @check_user_banned. Но это уже по желанию.
Что значит "дальше не идет"? Этот хендлер стоит в самом верху кода? Если так, то он будет ловить все текстовые сообщения, включая сообщения, которые являются просто командами. Так что любые текстовые обработчики ниже него работать не будут
Если хотите делать такую проверку, я бы сделал свой фильтр, который поставил в хендлер. В фильтре уже проверять пользователя
да, проверка на бан стоит вверху, иначе от нее не было бы никакого смысла.
мне нужно, чтобы если человек заблокирован в боте, то бот бы его полностью игнорировал, а если не заблокирован - продолжал бы работать как обычно.
но так как этот хендлер захватывает все сообщения, которые приходят от человека (даже не заблокированного) и остальные обработчики не работают, то он игнорирует и обычных пользователей.