Files
Synculous-2/bot/command_registry.py
2026-02-12 22:11:52 -06:00

36 lines
924 B
Python

"""
command_registry.py - Module registration for bot commands
Register domain-specific handlers for different interaction types.
"""
COMMAND_MODULES = {}
def register_module(interaction_type, handler):
"""
Register a handler for an interaction type.
Args:
interaction_type: String key (e.g., 'med', 'habit', 'task')
handler: Async function(message, session, parsed) -> None
Example:
async def handle_med(message, session, parsed):
action = parsed['action']
# ... handle medication logic ...
register_module('med', handle_med)
"""
COMMAND_MODULES[interaction_type] = handler
def get_handler(interaction_type):
"""Get the registered handler for an interaction type."""
return COMMAND_MODULES.get(interaction_type)
def list_registered():
"""List all registered interaction types."""
return list(COMMAND_MODULES.keys())