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

# /help & /ping

> Bot information, command list, and health check

## Overview

Annie Mei includes two utility slash commands to help you get started and confirm bot health:

* `/help` - Shows a command guide and usage tips
* `/ping` - Verifies the bot is online and responding

***

## /help command

### Command syntax

```text theme={}
/help
```

No parameters are required.

### Response data

The `/help` command returns an embed with:

<ResponseField name="Title">
  Personalized greeting with your Discord username
</ResponseField>

<ResponseField name="Description">
  Overview of what the bot can do:

  * Anime and manga detail lookups
  * Theme song searches
  * AniList account linking and guild watch/read visibility
</ResponseField>

<ResponseField name="Getting started">
  1. Run `/register` and click the AniList link button
  2. Finish authorization in your browser
  3. Use `/anime`, `/manga`, `/recommend`, or `/character` to search media and characters
  4. Use `/songs` for opening and ending tracks
  5. Use `/settings` to review preferences, or `/whoami` to confirm the linked profile
</ResponseField>

<ResponseField name="Commands">
  Complete slash command list:

  * `/anime search:<term or id>`
  * `/manga search:<term or id>`
  * `/recommend type:<anime|manga> search:<term or id>`
  * `/character search:<term or id> spoilers:<allow|disallow>`
  * `/songs search:<term or id>`
  * `/settings`
  * `/register` (secure OAuth link flow)
  * `/unregister confirmation:<confirm|cancel>`
  * `/whoami` (shows linked AniList account)
  * `/ping`
  * `/help`
</ResponseField>

<ResponseField name="Tips">
  * Search with names, aliases, or AniList IDs
  * Use exact IDs for fastest lookups
  * Run `/whoami` if member status is not showing as expected
</ResponseField>

### Example usage

```text theme={}
/help
```

The bot posts the full command reference in the current channel.

### Source code reference

Implementation: `src/commands/help.rs:13`

`help()` defines the slash command metadata and `run()` builds the embed response.

***

## /whoami command

### Command syntax

```text theme={}
/whoami
```

No parameters are required.

### Response messages

<ResponseField name="Linked account">
  ```
  Your linked AniList account is **AnimeName**.
  Profile: <https://anilist.co/user/AnimeName>
  ```

  Returns the AniList username and profile URL currently stored in your account link.
</ResponseField>

<ResponseField name="Not linked yet">
  ```
  You have not linked an AniList account yet. Run `/register` first.
  ```

  Use `/register` to start the OAuth flow.
</ResponseField>

### Example usage

```text theme={}
/whoami
```

The bot returns your link status in a private ephemeral response.

### Source code reference

Implementation: `src/commands/whoami.rs:29`

`whoami()` defines the slash command and `handle_whoami()` formats the user-facing output.

***

## /ping command

### Command syntax

```text theme={}
/ping
```

No parameters are required.

### Response message

The `/ping` command returns:

```text theme={}
Hello @YourUsername! I'm Annie Mei, a bot that helps you find anime and manga!
```

### Use cases

<CardGroup cols={2}>
  <Card title="Health check" icon="heart-pulse">
    Verify the bot is online and responding
  </Card>

  <Card title="Test permissions" icon="shield-check">
    Confirm bot can read and send messages in the channel
  </Card>

  <Card title="Fast feedback" icon="bolt">
    Confirm interaction routing is working
  </Card>

  <Card title="Introduction" icon="hand-wave">
    See the bot's name and feature summary
  </Card>
</CardGroup>

### Source code reference

Implementation: `src/commands/ping.rs:11`

`ping()` defines the slash command and `run()` sends a simple greeting response.

***

## When to use each command

| Scenario                               | Command     | Why                           |
| -------------------------------------- | ----------- | ----------------------------- |
| You need a command cheat sheet         | `/help`     | Opens the full command list   |
| You are not sure if `/anime` will work | `/help`     | Confirms available features   |
| Bot feels unresponsive                 | `/ping`     | Quick health check            |
| You want to confirm linked account     | `/whoami`   | Shows linked AniList username |
| You need to link again                 | `/register` | Restarts OAuth linking        |

<Tip>
  If `/help` or `/ping` fails, check the bot is online and has message permissions in the channel.
</Tip>

***

## Troubleshooting

<AccordionGroup>
  <Accordion title="/help image or embed looks broken">
    **Possible causes**

    * The bot is temporarily unable to attach `mei.jpg`
    * Discord embed rendering is delayed

    **Fix**

    * Retry the command
    * Verify the bot files are intact on its host
  </Accordion>

  <Accordion title="/whoami never shows a profile">
    **Possible causes**

    * Registration flow has not completed
    * OAuth flow was interrupted before callback finished

    **Fix**

    * Run `/register` and complete the browser flow in one session
    * Ask your bot administrator to verify `AUTH_SERVICE_BASE_URL` and `OAUTH_CONTEXT_SIGNING_SECRET`
  </Accordion>

  <Accordion title="/ping mentions the wrong user">
    This is usually caused by a client-side interaction display issue.
    If it continues, restart the bot and check for updates.
  </Accordion>
</AccordionGroup>
