# Kaeya Bot - Comprehensive Documentation

> Kaeya is the premier Genshin Impact Discord guessing game bot. Players deduce mystery characters from the full Genshin Impact roster using strategic hints, attribute tests (element, weapon, region, gender, height, and release version), and server statistics.

## Table of Contents
1. [Overview](#overview)
2. [Quickstart & Server Setup](#quickstart--server-setup)
3. [Gameplay Mechanics & Rules](#gameplay-mechanics--rules)
4. [In-Game Guess Commands & Syntax](#in-game-guess-commands--syntax)
5. [Slash Commands Reference](#slash-commands-reference)
6. [Character Attributes & Accepted Values](#character-attributes--accepted-values)
7. [Release History](#release-history)
8. [Frequently Asked Questions](#frequently-asked-questions)
9. [Privacy & Security](#privacy--security)
10. [Links & Community](#links--community)

---

## 1. Overview

Kaeya Bot is a dedicated, fan-made Discord bot designed to bring interactive Genshin Impact character guessing games to communities. It is 100% free to use, requires no credit card or premium paywalls, and is kept up to date with the latest Genshin Impact character releases, including Version 7.1 additions Vesna and Vodyanitsa.

### Why Choose Kaeya Bot?
- **Zero Configuration Friction:** Add the bot, authorize a channel with `/add-channel`, and start playing immediately with `/guess`.
- **Clean Channel Management:** Kaeya only responds in channels explicitly designated by server admins, keeping other channels free from bot clutter.
- **Engaging Multi-Player Mechanics:** All server members can participate in real time, making it great for community engagement and events.
- **Deep Attribute Testing:** Players do not just guess names—they strategically deduce characters through element, weapon type, region, model height, gender, and release version queries.
- **Privacy First:** Kaeya does not log or store private user messages.

---

## 2. Quickstart & Server Setup

### Step 1: Invite Kaeya to your Discord Server
Click the invite URL:
https://discord.com/oauth2/authorize?client_id=1488898489508171847

Ensure the bot is granted the standard text channel permissions:
- Send Messages
- Embed Links
- Read Message History
- Add Reactions

### Step 2: Authorize a Gaming Channel
An administrator must run the `/add-channel` slash command in the designated channel where players will play. This prevents games from spilling into other rooms.

### Step 3: Start Playing
Any member in the authorized channel can type:
```
/guess
```
Kaeya will randomly select a mystery character from the roster and start the game round.

---

## 3. Gameplay Mechanics & Rules

- **Infinite Guesses:** There is no penalty or hard limit on the number of character or attribute guesses players can submit. Players can guess until the mystery character is discovered.
- **3 Hints Maximum:** Players can request up to 3 hints per round using the `guess hint` command in chat. Each hint reveals an unconfirmed attribute about the mystery character.
- **Version Hint Buffer Rule:** If a version hint is provided, it is valid up to 3 versions before and after the actual character release. For example, if a hint indicates a Version 4.0 range, the actual release could be between versions 3.7 and 4.3.
- **Winning:** Any player can type the character name directly in chat (e.g. `Furina` or `Zhongli`). When the name matches, Kaeya declares the winner, shows stats, and concludes the round.

---

## 4. In-Game Guess Commands & Syntax

While a `/guess` game is active in an authorized channel, members type the following commands directly into the channel chat (no slash prefix required for in-game guesses):

### Attribute Query Commands

1. **Request a Hint:**
   ```
   guess hint
   ```
   *Description:* Reveals one unknown attribute about the secret character. Limited to 3 hints per round.

2. **Guess Elemental Vision:**
   ```
   guess element <value>
   ```
   *Example:* `guess element hydro`
   *Accepted values:* `pyro`, `hydro`, `anemo`, `electro`, `dendro`, `cryo`, `geo`

3. **Guess Weapon Class:**
   ```
   guess weapon <value>
   ```
   *Example:* `guess weapon sword`
   *Accepted values:* `sword`, `claymore`, `bow`, `polearm`, `catalyst`

4. **Guess Affiliated Region:**
   ```
   guess region <value>
   ```
   *Example:* `guess region fontaine`
   *Accepted values:* `mondstadt`, `liyue`, `inazuma`, `sumeru`, `fontaine`, `natlan`, `snezhnaya`, `khaenriah`

5. **Guess Character Gender:**
   ```
   guess gender <value>
   ```
   *Example:* `guess gender female`
   *Accepted values:* `female`, `male`

6. **Guess Model Rig Height:**
   ```
   guess height <value>
   ```
   *Example:* `guess height tall`
   *Accepted values:* `tall`, `medium`, `short`

7. **Test Release Version Range:**
   ```
   guess version before <version>
   guess version after <version>
   guess version exact <patch>
   ```
   *Examples:*
   - `guess version before 4.0`
   - `guess version after 4.5`
   - `guess version exact luna 3`

8. **Direct Character Guess:**
   ```
   <Character Name>
   ```
   *Example:* `Furina`
   *Description:* Type the exact or common character name. A correct guess wins the game!

---

## 5. Slash Commands Reference

Run these commands using the `/` prefix in Discord:

| Command | Category | Description | Parameters |
|---|---|---|---|
| `/guess` | Game | Starts a new character guessing game session in the channel | None |
| `/character` | Reference | View character details, roster lists, or filter by attributes | `query` (optional), `filter` (optional) |
| `/stats` | Analytics | Shows character appearance frequencies and server game count | None |
| `/help` | Info | Displays gameplay rules, hint limits, and syntax guide | None |
| `/add-channel` | Admin | Adds the current channel to the allowed game channels list | None (requires admin/manage server) |
| `/remove-channel` | Admin | Removes the current channel from allowed game channels | None (requires admin/manage server) |
| `/devlogs` | Updates | Shows recent update logs and newly added characters | None |

---

## 6. Character Attributes & Accepted Values

- **Visions (7):** Pyro, Hydro, Anemo, Electro, Dendro, Cryo, Geo
- **Weapons (5):** Sword, Claymore, Bow, Polearm, Catalyst
- **Regions (8):** Mondstadt, Liyue, Inazuma, Sumeru, Fontaine, Natlan, Snezhnaya, Khaenri'ah
- **Genders (2):** Female, Male
- **Heights (3):** Tall (adult body model), Medium (teenager body model), Short (child body model)

---

## 7. Release History

### Version 7.1 (Current)
- Added newly released Version 7.1 characters: **Vesna** and **Vodyanitsa**.
- Refined attribute verification engine for faster response times.
- Updated `/character` profile database.

### Version 7.0
- Added Version 7.0 character roster additions.
- Re-engineered hint distribution algorithm to balance clue difficulty.
- Added server statistics tracking with `/stats`.

---

## 8. Frequently Asked Questions

**Q: Can everyone in the Discord channel participate in a game?**
A: Yes. Once `/guess` is run, all members in that channel can submit attribute guesses and character names.

**Q: Why is Kaeya not responding to commands?**
A: An administrator must first run `/add-channel` in that channel. Kaeya ignores commands in unauthorized channels.

**Q: How many hints can we use per game?**
A: Up to 3 hints per round using `guess hint`.

**Q: Is there any limit on how many guesses we can make?**
A: No, guesses are unlimited.

---

## 9. Privacy & Security

- **No Message Logging:** Kaeya only inspects message content in memory within authorized channels to evaluate guesses, and does not store or log chat messages.
- **Minimal Permissions:** Only requires standard channel permissions (read messages, send messages, embeds, reactions).
- **GDPR & Privacy Respect:** No personal identifiable information (PII) is sold or shared.

---

## 10. Links & Community

- **Official Website:** https://kaeya.xyz/
- **How to Play:** https://kaeya.xyz/how-to-play
- **Commands Guide:** https://kaeya.xyz/commands
- **Roadmap:** https://kaeya.xyz/roadmap
- **Changelog:** https://kaeya.xyz/changelog
- **Invite Bot:** https://discord.com/oauth2/authorize?client_id=1488898489508171847
- **Support Discord:** https://discord.gg/XVaHTmgw2s
- **Top.gg:** https://top.gg/bot/1488898489508171847
- **Developer Email:** contact@junaidsultan.com
