major-domo-v2/commands/profile/__init__.py
Cal Corum aa7aab3901 CLAUDE: Implement player image management system
Add /set-image command for updating player fancy cards and headshots.

Features:
- Single command with fancy-card/headshot choice parameter
- Comprehensive URL validation (format + accessibility testing)
- Permission system (users can edit org players, admins can edit all)
- Preview embed with confirmation dialog before database update
- Player name autocomplete prioritizing user's team
- HTTP HEAD request to verify URL accessibility and content-type

Implementation:
- New commands/profile/ package with ImageCommands cog
- Two-stage URL validation (format check + accessibility test)
- Permission checking via Team.is_same_organization()
- Interactive confirmation view with 180s timeout
- Updates player.vanity_card or player.headshot field

Testing:
- 23 comprehensive tests covering validation and permissions
- Uses aioresponses for HTTP mocking (project standard)
- Test coverage for admin/user permissions and organization checks

Documentation:
- Comprehensive README.md with usage guide and troubleshooting
- Updated PRE_LAUNCH_ROADMAP.md to mark feature complete

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-10 13:54:12 -05:00

13 lines
345 B
Python

"""
Profile management commands package.
Handles user-facing profile management including player image updates.
"""
from discord.ext import commands
async def setup_profile_commands(bot: commands.Bot):
"""Load profile management commands."""
from commands.profile.images import ImageCommands
await bot.add_cog(ImageCommands(bot))