Как заблокировать пользователя в приватном чате aiogram?
Как я могу заблокировать пользователя в приватном чате ? Искал в доках, там только для групповых чатов есть решения. Если такой функционал не предоставлен, то можно ли прекратить сессию с пользователем, что бы ему нужно было снова стартовать бота ? А то писать для каждой функции дополнительный запрос в бд, проверяющий блокировку - плохое решения.
Нет, нельзя. Бот в любом случае получит сообщение, но может его проигнорировать.
Копировать одинаковую проверку на ндцать строчек, конечно, не надо. Можно, например, сделать функцию проверки и её везде проверять в начале каждого обработчика. Ещё более красиво - свой декоратор.
EnotShow, можно держать кэш заблокированных в памяти и обновлять его каждые ндцать минут запросом. Всё это скрыть в функцию или декоратор, чтобы не болела голова в каждом обработчике.