# FAQ

<details>

<summary>What is NeoBot?</summary>

NeoBot is a multi-channel Twitch bot built as a personal project. It comes with a web dashboard so you can manage everything — commands, timers, and moderation — without touching any code or restarting anything.

</details>

<details>

<summary>Is NeoBot free?</summary>

Yes, completely free. If you want to support keeping the bot running you can [buy me a coffee on Ko-fi](https://ko-fi.com/neobotxyz) but there's no obligation.

</details>

<details>

<summary>Will there be bugs?</summary>

Yes — this is a personal project and bugs are expected. I fix things as fast as I can. If you run into something broken, feel free to open an issue on GitHub and I'll look into it.

</details>

<details>

<summary>How do I add NeoBot to my channel?</summary>

1. Go to [**neobotxyz.up.railway.app**](https://neobotxyz.up.railway.app/)
2. Click **Connect with Twitch**
3. Authorize the bot with your Twitch account
4. You're done — NeoBot will join your chat automatically

> **Tip:** Type `/mod neobotxyz` in your chat to give the bot mod permissions so it can delete messages and issue timeouts.

</details>

<details>

<summary>Can my mods manage commands?</summary>

Yes. If your mods authorize their own Twitch account on the site, they'll see your channel in their dashboard under **"Moderating"** and can add, edit, or delete commands and banned words for your channel.

</details>

<details>

<summary>What commands does NeoBot have?</summary>

| Command            | Who can use        | Description                    |
| ------------------ | ------------------ | ------------------------------ |
| `!title <text>`    | Broadcaster / Mods | Update your stream title       |
| `!game <name>`     | Broadcaster / Mods | Update your stream category    |
| `!uptime`          | Everyone           | Show how long you've been live |
| `!shoutout <user>` | Broadcaster / Mods | Shout out another streamer     |
| `!commands`        | Everyone           | List all commands              |

Plus any custom commands you create in the dashboard.

</details>

<details>

<summary>How do I add custom commands?</summary>

1. Go to your dashboard → **Commands** page
2. Type a command name (e.g. `!discord`) and a response
3. Set who can use it — Everyone, Mods+, or Broadcaster only
4. Click **+ Add** then **Save Changes**

You can also use variables in responses:

| Variable                         | What it does                             |
| -------------------------------- | ---------------------------------------- |
| `{user}`                         | Name of the person who typed the command |
| `{channel}`                      | Your channel name                        |
| `{http:https://api.example.com}` | Fetches any URL that returns plain text  |
| `{valorant_rank:Name#Tag}`       | Shows your current Valorant rank and RR  |

</details>

<details>

<summary>How do timers work?</summary>

Timers automatically post messages in your chat on a schedule. There are two types:

* **Interval** — posts a message every X minutes (e.g. post your socials every 30 minutes)
* **Countdown** — posts a message once after X minutes (e.g. "Stream starting!" fires once then stops)

Each timer can be set to only fire when you're **live**, or always run. You can manage timers from the **Timers** page in your dashboard.

</details>

<details>

<summary>How does the banned words filter work?</summary>

Go to **Moderation → Banned Words** in your dashboard. You can:

* Add words or phrases to block
* Use `*` as a wildcard (e.g. `bad*` matches "badword", "badly")
* Choose a punishment: **Delete** the message, **Timeout** the user, or **Ban** them
* Set a custom timeout duration
* Add an optional response message using `{user}`
* Exempt specific users from the filter

Mods and the broadcaster are exempt by default.

</details>

<details>

<summary>How do I report a bug or request a feature?</summary>

Open an [issue on GitHub](https://github.com/vzepify/ghostbot/issues) and describe what's happening. Include what you were doing when it broke if you can — it helps a lot.

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://neobot-1.gitbook.io/neobot-docs/faq.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
