17 lines
438 B
Python
17 lines
438 B
Python
from __future__ import annotations
|
|
|
|
from core.commands.base import CommandHandler
|
|
|
|
_HANDLERS: dict[str, CommandHandler] = {}
|
|
|
|
|
|
def register(handler: CommandHandler):
|
|
slug = str(getattr(handler, "slug", "") or "").strip().lower()
|
|
if not slug:
|
|
raise ValueError("handler slug is required")
|
|
_HANDLERS[slug] = handler
|
|
|
|
|
|
def get(slug: str) -> CommandHandler | None:
|
|
return _HANDLERS.get(str(slug or "").strip().lower())
|