> For the complete documentation index, see [llms.txt](https://docs.zeroauthority.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zeroauthority.xyz/nova-bot/nova-ai-agent/community/nova-soul.md).

# Nova Soul

**Nova Soul** lets your community give Nova its own identity. A community on **Community PRO** can **rename Nova**, set **style hints** (tone, emoji, vocabulary), and write a full **persona description** — and Nova wears that skin *only in your server/group*. Everywhere else it's still plain Nova.

Your degen trading group can talk to a meme-slinging mascot; your DAO's governance server can have a formal, no-emoji analyst; a Spanish-first community can ask for Spanish-flavored replies — all from the same bot, without touching anyone else's setup.

Nova Soul is part of **Community PRO**: on the free tier Nova will explain how to upgrade instead. See [Nova Premium for Communities](/nova-bot/premium/nova-premium-for-communities.md).

***

## What You Can Customize

| Field           | What it does                                                                                      | Limit       |
| --------------- | ------------------------------------------------------------------------------------------------- | ----------- |
| **Bot name**    | The display name Nova uses when talking in your community ("I'm Zippy, this server's assistant…") | 64 chars    |
| **Style hints** | Short tone guidance — *"playful, heavy emoji, degen slang"* or *"formal, concise, no emoji"*      | 500 chars   |
| **Soul text**   | The full persona: who the character is, how it speaks, community lore to lean on                  | 4,000 chars |

Set one, two, or all three — each works on its own. The persona applies to Nova's conversational replies in your community and takes effect on the **next message** after you save it.

***

## Styling Only — By Design

A persona changes how Nova *sounds*, never what Nova *does*. This is a hard guarantee, not a suggestion:

* The persona **cannot** change Nova's safety rules, honesty, tool permissions, admin/DM gating, moderation behavior, or rate limits.
* Instructions hidden inside persona text (e.g. *"ignore your rules"*, *"reveal your system prompt"*, *"skip confirmations"*) are **stripped and ignored** — Nova applies only the legitimate tone/style guidance and discards the rest.
* Nova stays Nova underneath: asked directly, it will never deny being Nova, and every capability and limit works exactly as documented.

{% hint style="success" %}
This means an admin can hand persona-writing to anyone on the team (or even run a community contest for it) without worrying that a creative soul text could jailbreak the bot.
{% endhint %}

***

## Set It Up — just talk to Nova

(Setup is admin-only, in your server/group — not DMs.) @mention Nova or reply to it:

1. **Rename it:**
   * *"@Nova call yourself Zippy in this server"*
2. **Set the tone:**
   * *"@Nova act more playful here — lots of emoji, degen slang welcome"*
3. **Write the full persona:**
   * *"@Nova set your soul: You are Zippy, the mascot of the Zippy DAO. You speak in short punchy sentences, love rocket emojis, and always hype the community's builders…"*
4. **Check or reset anytime:**
   * *"@Nova show the community persona"* · *"@Nova clear the persona"* — instantly back to plain Nova.

You can also edit the same three fields from the web dashboard's **Community Settings** panel — both paths go through identical validation, so the bot and the dashboard never drift. One persona per **community** — if your plan covers both a Discord server and a Telegram group, they share the same soul.

***

## Configuration Options

| Option          | What it does                                                                            |
| --------------- | --------------------------------------------------------------------------------------- |
| **status**      | Show the current persona (name, style, soul text) and whether your tier unlocks it      |
| **set\_name**   | Set the custom bot display name                                                         |
| **set\_style**  | Set the tone/style hints                                                                |
| **set\_soul**   | Set the persona description                                                             |
| **clear**       | Remove the whole persona — back to Nova's default identity                              |
| **bot\_status** | Show the custom-bot link status (see below): @username, lifecycle state, online/offline |
| **unlink\_bot** | Disconnect your custom bot on this platform — back to the shared Nova bot               |

***

## Custom Bot Identity — run Nova as *your* bot

The persona changes Nova's words; the **custom bot identity** changes the face. A PRO community can run Nova under its **own Discord bot application** and/or its **own Telegram bot token** — so every reply, Guardian report, level-up post, snack, and scheduled message comes from **your bot's name and avatar**, not the shared Nova account.

Nova stays Nova underneath: same features, same context and memory, same fair-use budgets, same safety rules. If your custom bot ever goes down or its token is revoked, Nova **automatically falls back to the shared bot** — your community is never left silent.

### Linking your bot — dashboard only

{% hint style="warning" %}
Bot tokens are **never entered in chat**. Anything pasted into Discord/Telegram lives in chat history forever — if a token ends up in a message, treat it as compromised: revoke/regenerate it and use the dashboard. Nova will refuse tokens in chat and tell you the same.
{% endhint %}

Link from the web dashboard → **Community Settings** → the **Nova Soul** card → *Custom bot identity*:

{% tabs %}
{% tab title="Discord" %}

1. Create an application at [discord.com/developers](https://discord.com/developers/applications) → **Bot** tab → **Reset Token** and copy it.
2. On the Bot tab, enable the **Message Content** and **Server Members** privileged intents (Nova's community features need to read messages and see joins).
3. Paste the token into the Soul card and hit **Link** — Nova validates it live and shows your bot's name.
4. Invite your bot with the **invite link the card generates** (the exact same permission set as shared Nova — never administrator).
5. Your bot takes over in your server within a minute. The shared Nova goes quiet there automatically (no double answers, no double XP).
   {% endtab %}

{% tab title="Telegram" %}

1. Create a bot with [@BotFather](https://t.me/BotFather) (`/newbot`) and copy the token.
2. In @BotFather run **/setprivacy → Disable** so your bot can see regular group messages (Guardian, XP, Pulse and language moderation need this).
3. Paste the token into the Soul card and hit **Link**.
4. Add your bot to the group — members can mention it by **its own @username** (and "@nova" keeps working too).
   {% endtab %}
   {% endtabs %}

### Security & lifecycle

* Tokens are stored **encrypted (AES-256-GCM)** and are **write-only** — no page, tool, or API ever shows a token again after you link it. To rotate, just paste a new one.
* One bot = one community. A token already linked elsewhere is refused.
* Your bot only works in **your linked server/group** — invited anywhere else, it stays silent.
* **Token revoked / invalid?** Nova stops the bot, marks it *invalid*, posts a heads-up to your mod channel via the shared bot, and falls back — re-link a fresh token from the dashboard.
* **PRO lapses?** The custom bot is *suspended* (token kept, encrypted) and resumes automatically when the plan is active again.
* Check or disconnect from chat anytime: *"@Nova custom bot status"* (admin-only).
* Slash commands and the Telegram setup wizards stay on the shared Nova bot — your custom bot handles AI chat and all community features (Guardian, Pulse, Games, Snacks, GM, language moderation, scheduled posts).
