У тебя суть твоего декоратора в проверке прав пользователя. Он должен или ничего не делать, если всё хорошо, или бросать исключение. А он у тебя отправляет сообщение. Сообщение у тебя должно отправляться не в нём, а в том месте, где ты обрабатываешь полученное исключение.
а тут не нарушил single responsibility?)