AutoGG, у него используется DotDict, попробуй прописать dir(event.obj) и посмотри какие поля там есть. А лучше используй фреймворк, типа https://github.com/lxstvayne/vk_maria , автором которого, к слову, являюсь я.
Сервис рассылки берёт сообщение и запускает в фоне. Дело в том, что каждое сообщение может идти не в порядке очереди рассылки, даты могут быть самые разные. Я решил эту проблему добавив хранилище для джобов, но, интересно, можно ли одной лишь кафкой обойтись?
mkone112, не знаю какая структура у твоего кода, но я бы вынес всё по пакетам. Твой пакет должен относиться только к твоему сокету, тогда путаницы никакой не будет. Если types.py не нравится, назови state.py, но обычно перечисления и типы я выношу в types.py. Был у меня опыт, когда я инкапсулировал классы в класс, но я от этого отошёл, потому что были проблемы в будущем с тайпхинтингом и наследованием этого чуда.
Что имеется ввиду под единообразием кода? Я понимаю это как единообразие кода в твоём проекте, так что я бы придерживался PascalCase в названии классов, но тут кто как понимает.
Можешь написать всё в один файл как это сделано в peewee, но потом будет очень сложно редактировать код.