Я думаю, что args... или kwargs... сложно, что если у тебя какие-нибудь вложенные структуры?
Но вообще, если бы это кто-нибудь оформил в виде библиотеки было бы неплохо, потому что это регулярно надо делать и помнить все детали не очень хочется каждый раз.
То есть условный процессинг может принимать: функцию, которая превращает сообщение в ключ, функцию, которая из сообщения достает id, функцию, которая добавляет в сообщение id и словарь, который преобразует ключ в функцию-обработчик.