Bot won't start / no output
Bot won't start / no output
- Check that
BOT_TOKENis set correctly in.env. Paste it directly with no extra whitespace or quotes. - Check that
CHANNEL_IDis a valid integer channel ID, not a channel name. - Run
python main.pydirectly in your terminal and read the error output. The startup logs will point to the exact problem. - Verify all required dependencies are installed:
pip install -r requirements.txt.
Python Error: ValueError (could not convert string to float/int)
Python Error: ValueError (could not convert string to float/int)
.env file:- Remove Inline Comments: Ensure you don’t have comments on the same line as a value (e.g.,
MODEL_TEMPERATURE=0.7 # comment). Remove everything after the value. - Avoid Empty Values: If a variable like
LOG_CHANNEL_IDis defined but left blank (e.g.,LOG_CHANNEL_ID=), either provide a value or remove the line entirely.
Python Error: TypeError (unsupported operand type for |)
Python Error: TypeError (unsupported operand type for |)
- Check your version:
python --version - If it’s below 3.10, download and install the latest version from python.org.
ModuleNotFoundError: No module named 'discord'
ModuleNotFoundError: No module named 'discord'
- Use a Virtual Environment: It is highly recommended to use a
venvto avoid conflicts. - Install Requirements: After activating the venv, run:
- Verification: Ensure you see
(.venv)in your terminal prompt before runningpython main.py.
Slash commands not showing in Discord
Slash commands not showing in Discord
- Slash commands need to be synced after first launch or after changes.
- Run
/syncas the Bot Owner to push global slash commands to Discord. - Discord can take a few minutes to propagate global slash commands. Wait and refresh your client.
- Make sure you invited the bot with the
applications.commandsscope. Re-invite with that scope if needed.
AI commands not responding
AI commands not responding
- Check that the
genaimodule is enabled:/module list. - Verify your API key is set in
.envfor the provider you chose (GOOGLE_API_KEY,OPENAI_API_KEY, etc.). - Confirm
AI_PROVIDERin.envmatches the key you provided. For example, if you setGROQ_API_KEY, setAI_PROVIDER=groq. - Run
/provider showto confirm the active provider matches your intent. - Check the bot console output for API error messages. Rate limit, authentication, and quota errors are printed there.
Bot responds in the wrong channel or everywhere
Bot responds in the wrong channel or everywhere
- Use
/setchannel #channelto restrict conversation replies to a specific channel. - Check the current chat mode: use
/chatmode mentionsto limit replies to direct mentions and replies to the bot only. - If autonomous mode is active, disable it with
/autonomy offto stop unsolicited replies in non-conversation channels.
~math doesn't work
~math doesn't work
~mathrequiresWOLFRAM_APPID_SHORTto be set in.env. Get an AppID from developer.wolframalpha.com.- If the Short Answer API returns no result,
WOLFRAM_APPID_LLMis used as a fallback. Set both for full coverage. - Check that the
mathmodule is enabled:/module list.
~download / ~audio fails
~download / ~audio fails
- Both commands require
yt-dlpandffmpegto be installed and available on your systemPATH. - Check that the
ytdlpmodule is enabled:/module list. - Discord has a 10 MB upload limit for free servers. Large video files will fail after download. Try a shorter clip or lower resolution source.
- A per-user cooldown of 30 seconds applies between downloads. Wait and try again.
- If compression still produces an oversized file, lower the target:
/config set ytdlp_compress_target_mb 8.0.
~separate returns no result or times out
~separate returns no result or times out
~separaterequiresMVSEP_API_KEYto be set in.env.- Check that both the
mvsepandytdlpmodules are enabled.mvsepdepends onytdlpfor platform URL downloads:/module list. - MVSEP’s free tier allows one separation job at a time. If a job is already in progress, wait for it to finish before submitting another.
- For long audio files, increase the polling timeout:
/config set mvsep_poll_timeout 600. - If you configured webhook-based completion, verify
MVSEP_WEBHOOK_URLis publicly accessible and reachable by MVSEP’s servers.
Data lost after redeployment on Railway or Render
Data lost after redeployment on Railway or Render
- Without a persistent volume,
config.json,memory.db,warnings.db, and persona files are wiped on every redeploy. - Mount a volume at
/datain your hosting platform’s settings. - Set all file path environment variables to their
/data/equivalents. See the Environment Variables reference for the full list.
Memory and persona files not persisting between restarts
Memory and persona files not persisting between restarts
- Confirm
CONFIG_FILE_PATH,MEMORY_FILE_PATH,AI_PERSONA_JSON_FILE, andWARNINGS_FILE_PATHall point to a writeable location. - On cloud hosts (Railway, Render), these paths must be inside a mounted persistent volume.
- Check that the bot process has write permissions to the target directory.
Prompt injection detection altering my messages
Prompt injection detection altering my messages
"ignore previous instructions", "jailbreak", "developer mode", and similar — and sanitizes them before the prompt reaches the AI model. The prompt is neutralized rather than silently dropped. The bot’s output is also checked for injection artifacts. If a prompt is being altered, look at the bot console output for a security log message. This is intentional behavior designed to protect your persona from being overridden.Still Stuck?
If none of the above resolves your issue, get help from the community:- GitHub Issues — Open a bug report or check existing issues at github.com/soquincy/Freesona/issues
- Discord Server — Ask in the support channel at discord.gg/vXPRs2cHSE