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>
13 lines
345 B
Python
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))
|