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

# Commands Reference: Slash and Prefix Command Index

> Complete reference for all Freesona slash and prefix commands — organized by category with syntax, aliases, and required permissions.

Freesona commands work as both prefix commands (default prefix `~`) and slash commands (`/`). The prefix is configurable per server with `~prefix <symbol>` and persists across restarts. A few commands like `/setpersona` and `/autonomy` are slash-only because they rely on Discord's modal and button UI interactions.

## AI Commands

| Command                                                   | Action                                                  | Permission    |
| :-------------------------------------------------------- | :------------------------------------------------------ | :------------ |
| `~write <prompt>` (`/write`, alias `~w`)                  | Structured output using the active persona              | Anyone        |
| `~ask <question>` (`/ask`, alias `~a`)                    | Conversational response using the active persona        | Anyone        |
| `~search <query>` (`/search`, alias `~s`)                 | Web search with AI summary                              | Anyone        |
| `~separate <url>` (`/separate`, aliases `~sep`, `~stems`) | Vocal/instrumental separation via MVSEP                 | Anyone        |
| `/kbsearch <query>`                                       | Search the local ChromaDB knowledge base                | Anyone        |
| `/kbadd <title> [content] [attachment]`                   | Add text or a PDF/EPUB attachment to the knowledge base | Administrator |
| `/kblist`                                                 | List the newest knowledge base entries                  | Administrator |
| `/kbdelete <id>`                                          | Delete a knowledge base entry by ID                     | Administrator |

## RSS / News

| Command                      | Action                                          | Permission    |
| :--------------------------- | :---------------------------------------------- | :------------ |
| `/rss latest <feed>`         | Show latest items from an RSS/Atom feed         | Anyone        |
| `/rss list`                  | List configured feeds and the auto-post channel | Anyone        |
| `/rss add <name> <url>`      | Add or update an RSS feed                       | Administrator |
| `/rss remove <name>`         | Remove an RSS feed                              | Administrator |
| `/rss setchannel <#channel>` | Set the RSS auto-post channel                   | Administrator |
| `/rss clearchannel`          | Disable RSS auto-posting                        | Administrator |

## Conversation Channel

| Command                          | Action                                                 | Permission    |
| :------------------------------- | :----------------------------------------------------- | :------------ |
| `/setchannel #channel`           | Set the AI conversation channel                        | Administrator |
| `/clearchannel`                  | Remove the conversation channel                        | Administrator |
| `/clearmemory`                   | Clear server-side conversation history for the channel | Administrator |
| `/chatmode <all/mentions/smart>` | Set when the bot replies in the conversation channel   | Administrator |

The bot responds to messages in the configured conversation channel based on the chat mode:

* `all` — replies to every message.
* `mentions` — replies only to direct mentions and replies to the bot.
* `smart` — also responds to messages that include attachments.

## Persona & Memory

| Command                                                           | Action                                               | Permission                 |
| :---------------------------------------------------------------- | :--------------------------------------------------- | :------------------------- |
| `/setpersona`                                                     | Open the button-based persona editor (slash-only)    | Bot Owner                  |
| `/personalock` (`~personalock`, alias `~plock`)                   | Lock persona against changes                         | Bot Owner                  |
| `/personaunlock` (`~personaunlock`, alias `~pulock`)              | Unlock persona for editing                           | Bot Owner                  |
| `/personasave <name>` (`~personasave`, alias `~psave`)            | Save the current persona as a named preset           | Bot Owner                  |
| `/personaload <name>` (`~personaload`, alias `~pload`)            | Load a saved persona preset                          | Bot Owner                  |
| `/personalist` (`~personalist`, alias `~plist`)                   | List all saved persona presets                       | Bot Owner                  |
| `/personadelete <name>` (`~personadelete`, alias `~pdel`)         | Delete a saved persona preset                        | Bot Owner                  |
| `/debugpersona` (`~debugpersona`, alias `~pdeb`)                  | Show active persona, provider, model, and lock state | Bot Owner                  |
| `/memorylist [user]` (`~memorylist`, alias `~meml`)               | List long-term memory facts for a user               | User (own) / Administrator |
| `/memoryclear [user]` (`~memoryclear`, alias `~memcl`)            | Clear all long-term memory facts for a user          | User (own) / Administrator |
| `/memorydelete <index> [user]` (`~memorydelete`, alias `~memdel`) | Delete a specific memory fact by list number         | User (own) / Administrator |
| `/migrate` (`~migrate`)                                           | Migrate legacy JSON memory to SQLite                 | Administrator              |

## Runtime Controls

| Command                                        | Action                                                                                       | Permission    |
| :--------------------------------------------- | :------------------------------------------------------------------------------------------- | :------------ |
| `/module list`                                 | List enabled/disabled modules with load state                                                | Administrator |
| `/module enable <name>`                        | Enable and load a module                                                                     | Administrator |
| `/module disable <name>`                       | Disable and unload a module                                                                  | Administrator |
| `/module reload <name>`                        | Reload an enabled module                                                                     | Administrator |
| `/model show`                                  | Show the active AI model                                                                     | Bot Owner     |
| `/model set <name>`                            | Set the active AI model                                                                      | Bot Owner     |
| `/model reset`                                 | Reset to the environment/default model                                                       | Bot Owner     |
| `/provider show`                               | Show the active AI provider                                                                  | Bot Owner     |
| `/provider set <name>`                         | Set the active provider (`gemini`, `openai`, `ollama`, `nim`, `azure`, `groq`, `openrouter`) | Bot Owner     |
| `/provider reset`                              | Reset provider to the environment/default                                                    | Bot Owner     |
| `/botwhitelist` (`~botwhitelist`, alias `~bw`) | List whitelisted bot IDs                                                                     | Administrator |
| `/botwhitelist add <bot_id>`                   | Add a bot ID (integer snowflake) to the whitelist                                            | Administrator |
| `/botwhitelist remove <bot_id>`                | Remove a bot ID from the whitelist                                                           | Administrator |
| `/sync`                                        | Sync global slash commands                                                                   | Bot Owner     |
| `/dumpconfig`                                  | Dump current `config.json` contents                                                          | Bot Owner     |
| `/config show [key]`                           | Show all runtime config values, or one specific key                                          | Bot Owner     |
| `/config list`                                 | List all configurable keys with descriptions                                                 | Bot Owner     |
| `/config set <key> <value>`                    | Set a runtime config value                                                                   | Bot Owner     |
| `/config reset <key>`                          | Reset a config key to its default value                                                      | Bot Owner     |
| `/settimezone <timezone>`                      | Set the bot's timezone (IANA format, e.g. `Asia/Manila`)                                     | Administrator |
| `/timezone`                                    | Show the bot's currently configured timezone                                                 | Anyone        |

<Note>
  Module and model names support slash-command autocomplete suggestions.
</Note>

## Autonomy

| Command                                  | Action                                              | Permission    |
| :--------------------------------------- | :-------------------------------------------------- | :------------ |
| `/autonomy on`                           | Enable autonomous mode (slash-only)                 | Administrator |
| `/autonomy off`                          | Disable autonomous mode (slash-only)                | Administrator |
| `/autonomy frequency <low/default/high>` | Set the confidence threshold for autonomous replies | Administrator |

Autonomous mode uses a confidence-scored intent evaluator — not random chance. Thresholds: `low` = 0.70, `default` = 0.50, `high` = 0.35. A 120-second per-channel cooldown and a 60-second per-user cooldown prevent the bot from dominating a conversation.

## Moderation

| Command                                         | Action                                                      | Permission       |
| :---------------------------------------------- | :---------------------------------------------------------- | :--------------- |
| `~purge <limit>`                                | Delete messages (1–1000)                                    | Manage Messages  |
| `~kick <member> [reason]`                       | Kick a member                                               | Kick Members     |
| `~ban <user> [delete_messages] [reason]`        | Ban a user; optionally delete message history (e.g. `7d`)   | Ban Members      |
| `~softban <member> [delete_messages] [reason]`  | Ban and immediately unban to purge messages (default: `7d`) | Ban Members      |
| `~unban <user> [reason]`                        | Unban a user                                                | Ban Members      |
| `~timeout <member> <duration> [reason]` (`~to`) | Timeout a member (e.g. `10m`, `1h`)                         | Moderate Members |
| `~removetimeout <member>` (`~rt`, `~rto`)       | Remove a timeout                                            | Moderate Members |
| `~slowmode <duration\|off>`                     | Set slowmode delay for the current channel                  | Manage Channels  |
| `~lock [reason]`                                | Lock the current channel                                    | Manage Channels  |
| `~unlock [reason]`                              | Unlock the current channel                                  | Manage Channels  |
| `~warn <member\|id> [reason]`                   | Issue a warning with a unique hex ID                        | Moderate Members |
| `~warns <member\|id>`                           | Show all warnings for a member                              | Moderate Members |
| `~delwarn <warn_id>`                            | Delete a warning by its hex ID                              | Moderate Members |
| `~clearwarns <member\|id>`                      | Clear all warnings for a member                             | Moderate Members |
| `~warnthresholds` (`~wt`)                       | View or edit auto-punishment thresholds via modal           | Administrator    |

Warn thresholds support `timeout <duration>`, `kick`, and `ban` actions triggered at configurable warning counts. Configure them with `~warnthresholds`, which opens a modal.

## Utility & Fun

| Command                         | Action                                              | Permission       |
| :------------------------------ | :-------------------------------------------------- | :--------------- |
| `~help [command]`               | Show help for commands                              | Anyone           |
| `~prefix <symbol>`              | Change the command prefix                           | Administrator    |
| `~math <equation>`              | Solve an equation via Wolfram\|Alpha                | Anyone           |
| `~download <url>` (`~dl`)       | Download a video (1080p → 720p → 480p → compressed) | Anyone           |
| `~audio <url>` (`~mp3`)         | Download audio as MP3                               | Anyone           |
| `~ping`                         | Show bot and Discord API latency                    | Anyone           |
| `~hello`                        | Say hello back                                      | Anyone           |
| `~randommember`                 | Randomly select a server member                     | Mention Everyone |
| `~coinflip`                     | Flip a coin                                         | Anyone           |
| `~roll [sides]`                 | Roll a die (default: 6 sides)                       | Anyone           |
| `~pick <choice1, choice2, ...>` | Pick randomly from comma-separated choices          | Anyone           |
