> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nexdevelopment.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Usage

> Sending a POV request from the panel or via /pov [id], what the requested player sees, and what lands in your Discord log.

## Sending a request from the panel

1. Run `/pov`. The panel opens with the request summary on the left and the target selector on the right, plus a live count of online players in the top bar.
2. Pick a target:
   * **Player List** tab — a searchable list of everyone online (you are excluded). Search matches names and server IDs. Each row shows the player's Discord profile picture, or their initials if none is available. Click a row to select it; click again to deselect.
   * **Server ID** tab — type a raw server ID (digits only). Press **Enter** to send immediately.
3. Optionally type a **Reason**. A live character counter shows how close you are to the cap (`Config.UI.reasonMaxLen`, default `120`).
4. Click **Send Request**. The summary panel shows the result, and the send button turns into a cooldown countdown until `Config.GlobalCooldown` (default `10` seconds) expires.

<Info>
  If you search for a server ID that isn't in the list, the panel offers a **Request player #ID** row so you can target them anyway — useful when a player connected after the list loaded. Use the refresh button next to **Online Players** to reload the list at any time.
</Info>

Press **ESC** or click **Close** to dismiss the panel (ESC can be disabled with `Config.UI.closeOnEscape`).

## Direct send

Skip the panel entirely:

```
/pov 42
```

Sends the request straight to server ID `42` and reports the result as a notification. No reason can be attached in this mode.

## Validation and cooldowns

Every request — panel or direct — is validated server-side:

* You cannot target yourself (`You cannot target yourself.`).
* The target must be online (`Target ID not online.`).
* The **global cooldown** blocks any request within `Config.GlobalCooldown` seconds of your last one (`Please wait before sending another POV request.`).
* The **pair cooldown** blocks requesting the same player again within `Config.PairCooldown` seconds (`You recently requested POV from this player. Try again later.`).

Reasons are trimmed and capped server-side regardless of what the client sends.

## What the requested player sees

The target gets a toast notification in the top-right corner:

* Title: **POV Requested**
* Message: `Player has requested pov post in Player report` (localized)
* The reason, if one was attached
* A progress bar that drains over `Config.UI.toastDuration` (default `8000` ms)

The toast uses your configured accent colour. At most four toasts stack at once. The target needs no permission — they always receive it.

## The Discord log

Every successful request posts an embed to `Config.WebhookURL` titled **POV Requested** with:

| Field     | Content                                  |
| --------- | ---------------------------------------- |
| Requester | Admin's name and server ID               |
| Target    | Target's name and server ID              |
| Message   | The request text shown to the player     |
| Reason    | Only included when a reason was attached |

The footer shows `Config.Embed.serverName` and a timestamp. Field names stay English so admin logs remain consistent across locales.
