Skip to main content
Autonomy mode lets Freesona participate in conversations without being explicitly called. The bot evaluates every message in non-conversation channels and decides whether to respond based on a confidence score. This makes Freesona feel like an active participant in your server rather than a passive tool you must invoke.

How It Works

Every message Freesona sees in a non-conversation channel is evaluated by a confidence-scoring heuristic. The heuristic produces a score between 0.0 and 1.0. No extra API calls are made. Scoring runs entirely on message content and context. The bot responds only when two conditions are met:
  1. The confidence score meets or exceeds the active frequency threshold.
  2. Both the per-channel and per-user cooldowns have elapsed.

Scoring Signals

Each signal adjusts the raw score up or down. Scores are clamped to the [0.0, 1.0] range before comparison against the threshold.
A message containing a direct mention or reply already scores 0.90 on its own. This is high enough to fire at every frequency level. Filler messages and long monologues are penalized to prevent the bot from interrupting casual chatter.

Frequency Thresholds

Use /autonomy frequency to control how often the bot chimes in. Lower thresholds mean the bot responds to more messages.

Cooldowns

Two independent cooldowns prevent the bot from dominating any single conversation. Both are configurable in config.json (see Configuration):
  • Per-channel cooldown (autonomy_cooldown_seconds, default 120) — After responding in a channel, the bot will not respond autonomously in that same channel again until this many seconds have elapsed.
  • Per-user cooldown (autonomy_user_cooldown, default 60) — After responding to a specific user, the bot waits this many seconds before responding to them again autonomously.
Both cooldowns must have elapsed for a new autonomous response to fire.

Commands

Enable, disable, and tune autonomy mode from any channel where you have Administrator permissions.
/autonomy is a slash-only command because it uses Discord UI interactions. Autonomy mode affects non-conversation channels. The conversation channel set via /setchannel has its own reply mode, controlled separately by /chatmode.

Conversation Channel vs. Autonomy

These two systems are independent and control different reply behaviors:

Conversation channel

Set via /setchannel. The bot replies to messages in this channel according to the active chatmode setting. Autonomy scoring does not apply here.

Autonomy mode

Applies to every other channel. The bot uses confidence scoring to decide whether to respond unprompted. Chatmode has no effect outside the conversation channel.

Chatmode Commands

Configure how the bot replies inside the conversation channel:

Channel Setup Commands

Bot Whitelist

By default, Freesona ignores messages from other bots to prevent feedback loops. If you want specific bots to trigger autonomy responses or conversation channel replies, add them to the bot whitelist.
Only bot IDs are accepted — not user IDs. Whitelisted bots bypass the “ignore other bots” filter entirely. Be selective to avoid loops with other active bots.