Unify all handler signatures and simplify router
- Standardize all handlers to signature: (query, user_id, player, data=None) - Replace 125-line if/elif chain with HANDLER_MAP dictionary - Reduce router code by 90 lines (72% reduction) - Add HANDLER_MAP registry for cleaner organization - Enable future auto-discovery and decorator patterns - Maintain full backward compatibility - Document changes in HANDLER_REFACTORING_V2.md Benefits: - O(1) handler lookup vs O(n) if/elif chain - Add new handlers by just updating the map - Consistent signature makes code easier to understand - Opens doors for middleware and hooks
This commit is contained in:
@@ -10,8 +10,8 @@ from data.items import ITEMS
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
async def handle_inventory_menu(query, user_id: int, player: dict):
|
||||
"""Show player inventory."""
|
||||
async def handle_inventory_menu(query, user_id: int, player: dict, data: list = None):
|
||||
"""Display player inventory with item management options."""
|
||||
await query.answer()
|
||||
inventory_items = await database.get_inventory(user_id)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user