# /pirate_cards_rebuild — Rebuild all pirate cards

Runs a full pass that makes sure each verified pirate has a fresh, accurate card in the configured channel.

## Access

- Moderator-only.
- Must be used in a server channel (not DMs). The confirmation is sent ephemerally.

## What it updates

- Card fields: Account name, Threat %, “In groups” bucket, “Destructive” bucket, total encounters, and last encounter date (UTC).
- Colors: Unknown samples → dark gray. Otherwise a green→red gradient based on Threat %.
- Safety: User-provided names are escaped and mentions are neutralized (no pings).

## Behavior

1. For each pirate in the internal list:
   - If their card already exists, it edits the embed in place.
   - If it can’t find the message, it posts a new card and records the message ID.
2. Works serially per guild to avoid race conditions.

## Output

Ephemeral summary, e.g.:

    Rebuilt/updated 27 pirate cards.

## Setup notes

- Uses `pirates_list_channel_id` for the destination channel.
- Threat %, group/destructive buckets, and last seen are computed from stored encounters.
- Bucket thresholds respect your server settings (e.g., `threat_group_threshold`, `threat_min_samples_for_stats`).

## When to run it

- After importing or migrating data.
- After a batch of new pirates is approved.
- Any time the cards look out of date.