[docs]defto_snake_case(name:str)->str:"""Converts a string to snake case."""returnre.sub("([a-z0-9])([A-Z])",r"\1_\2",re.sub("__([A-Z])",r"_\1",re.sub("(.)([A-Z][a-z]+)",r"\1_\2",name))).lower()
[docs]defget_event_name(class_type:type[PyLavEvent])->str:"""Returns the event name for a given event class while prefixing it with `pylav_`."""returnf"pylav_{to_snake_case(class_type.__name__)}"
[docs]defget_simple_event_name(class_type:type[PyLavEvent])->str:"""Returns the event name for a given event class."""returnto_snake_case(class_type.__name__)