Implement comprehensive team management and fix critical bugs

Team Management Features:
- Added 6 new IRC commands: \!teamlist, \!activeteam, \!teamname, \!teamswap, \!heal, \!verifyteamswap
- \!teamlist shows teams with pet names in format "Team name - pet1 - pet2 - pet3"
- \!teamname redirects to web interface for secure PIN-based renaming
- \!teamswap enables team switching with PIN verification via IRC
- \!activeteam displays current team with health status indicators
- \!heal command with 1-hour cooldown for pet health restoration

Critical Bug Fixes:
- Fixed \!teamlist SQL binding error - handled new team data format correctly
- Fixed \!wild command duplicates - now shows unique species types only
- Removed all debug print statements and implemented proper logging
- Fixed data format inconsistencies in team management system

Production Improvements:
- Added logging infrastructure to BaseModule and core components
- Converted 45+ print statements to professional logging calls
- Database query optimization with DISTINCT for spawn deduplication
- Enhanced error handling and user feedback messages

Cross-platform Integration:
- Seamless sync between IRC commands and web interface
- PIN authentication leverages existing secure infrastructure
- Team operations maintain consistency across all interfaces

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
megaproxy 2025-08-01 15:53:26 +00:00
parent e920503dbd
commit e17705dc63
10 changed files with 2012 additions and 384 deletions

View file

@ -2,6 +2,7 @@
"""Base module class for PetBot command modules"""
import asyncio
import logging
from abc import ABC, abstractmethod
class BaseModule(ABC):
@ -11,6 +12,7 @@ class BaseModule(ABC):
self.bot = bot
self.database = database
self.game_engine = game_engine
self.logger = logging.getLogger(self.__class__.__name__)
@staticmethod
def normalize_input(user_input):