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:- The confidence score meets or exceeds the active frequency threshold.
- 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 inconfig.json (see Configuration):
- Per-channel cooldown (
autonomy_cooldown_seconds, default120) — 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, default60) — After responding to a specific user, the bot waits this many seconds before responding to them again autonomously.
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.