## What it does

- Checks you’re a moderator, validates your reason, and posts a restart entry to the modlog (who, when, version, reason).
- Closes the bot cleanly and exits; your process manager/container brings it back up.

## Reason requirements

The `reason` must be specific enough to audit later:

- At least 20 characters
- At least 4 words
- At least 3 words with length ≥ 3
- Rejects vague phrases like: `stuck`, `idk`, `don't know`, `unknown`, `?`, `lag`, `restart`, `restarting`, `update`, `updating`, `bug`, `crash`, `crashed`

### Examples

✅ Good

    /power restart reason:"Reloading cogs after changing threat weights and enabling nick loop; avoids inconsistent state."

❌ Bad

    /power restart reason:"update"

## What you’ll see

- Ephemeral confirmation in chat.
- Modlog post similar to:

      🔁 Bot Restart Requested
      By: @YourName
      When: 2025-01-01 12:34 UTC
      Running version: vX.Y.Z
      Reason: Reloading cogs after threat weight change…

- Bot goes offline briefly, then comes back once the host restarts it.

## Config that affects it

- `modlog_channel_id` — where the restart entry is posted. If not set, it falls back to server logs only.
- `home_guild_id` — where the `/power` group is registered (home-guild only vs global).

## Permissions

- Moderator-only. Non-mods are blocked with an ephemeral message.
- Bot just needs permission to send messages in the modlog channel.