Skip to main content
Freesona is a BYOK (Bring Your Own Key) Discord bot. You fork, configure, and run it on your own hardware or cloud account. Provide your own API key and get a fully functional bot that behaves exactly how you configure it. No paying for credits, no rate limits set by someone else, and no lock-in to a single AI vendor’s personality. Everything runs on your infrastructure, under your control.

What Freesona Can Do

Freesona ships as a ready-to-run Python application built on discord.py. It organizes capabilities into loadable modules you enable or disable without touching code:
  • AI persona system — Use /setpersona to open a structured, button-based editor for persona fields. Changes apply immediately with no restart required. Save and load named presets with /personasave and /personaload.
  • Multi-provider AI — A shared provider abstraction lets you swap providers without changing command logic. Switch live with /provider set and /model set.
  • Separate memory architecture — Freesona keeps conversation continuity, user facts, character memory, canon context, and retrieval support as separate systems rather than collapsing them into one memory store.
  • Autonomy mode — The bot responds on its own using a confidence-scored intent evaluator, not random chance. Per-channel cooldowns prevent it from dominating a conversation.
  • Knowledge base — When ChromaDB is enabled, Freesona retrieves relevant document chunks semantically and injects them into generation context. Manage entries with /kbadd, /kblist, /kbdelete, and /kbsearch.
  • Media tools — Download audio and video with yt-dlp, separate audio stems via MVSEP, and process images, PDFs, audio, and code files through the active provider’s multimodal pipeline.
  • Moderation suite — A full warning system with hex IDs, auto-threshold actions, and DM notifications. Module-level on/off controls let you enable only what your server needs.

Quickstart

Clone the repo, fill in your .env, and have the bot running in under five minutes.

Configuration

Every .env variable and every runtime /config key, explained.

Persona System

Build a convincing AI persona with structured fields and instant live updates.

AI Providers

Gemini, OpenAI, Ollama, NVIDIA NIM, Azure AI Foundry, Groq, and OpenRouter.

Command Reference

Complete listing of every prefix and slash command the bot ships with.

Moderation

Warning system, auto-threshold actions, and per-guild moderation controls.

How Freesona Differs from Hosted Bots

Platforms like MEE6 or hosted persona bots give you a product someone else built on infrastructure you do not control with a ceiling you will eventually hit. Freesona inverts that model:

Supported AI Providers

Freesona’s generation pipeline routes through a common provider abstraction. Set AI_PROVIDER in your .env to activate one: You can switch the active provider at runtime without restarting: /provider set <name>.

Command System

Freesona uses a hybrid command system. Every command is available as both a prefix command (default prefix ~) and a slash command. For example, ~ping and /ping do exactly the same thing. You can change the prefix at any time with ~prefix <new_prefix> (requires Administrator). The runtime model is intentionally split. Prompt assembly is built from distinct context providers for persona, canon, conversation history, user memory, character memory, guild-world context, and retrieval results. Core commands like /ping, /status, and /help are always loaded. Everything else — AI generation, media tools, moderation, knowledge base — lives in optional modules you control with /module enable and /module disable.

Ready to Set Up Your Bot?

Get Started: Quickstart →

Clone Freesona, configure your Discord bot token and AI provider key, and have your self-hosted bot running in under five minutes.