Open source, free, with prompts written by yours truly. They're like real people, but better, because they actually talk to you!
- Go to Discord Developer App https://discord.com/developers/applications
- Create a New Application for your bot.
- Go to the General Information tab.
- Name your bot and give it a profile picture and description.
- Go to the Installation tab.
- Add "bot" in Guild Install Scope and "Administrator" in Permissions.
- Copy the Install Link.
- Invite the bot to your selected server(s) with the link.
- Return to the Installation tab in Discord Developer App and change Install Link to None, to prevent others from inviting your bot to their servers (unless you don't mind).
- Go to the Bot tab.
- Enable Presence Intent, Server Members Intent, and Message Content Intent toggles.
- Scroll to the top of the page and click the Reset Token button.
- Confirm, complete the authentication (if you have it), and Copy your generated token.
- Save the token for later (somewhere private). DO NOT SHARE IT WITH ANYONE.
- Get Miniconda3 from here: https://www.anaconda.com/download/success
- Download all the Git files and unzip them.
- Go to the downloaded folder.
- Run one of the two setup files, depending on your system:
- For Windows (double click it):
setup_windows.bat
- For MacOS/Linux (in console):
cd Discord_Buddy
sh ./setup_linux_macos.sh
- Set your Discord Token and API Keys in .env (if it's hidden on Mac, press
shift + command + .to display hidden files).
- Paste your Discord token and your API Keys in the selected fields of the .env file. Remember about the quotation marks!
- Run the bot through the launcher via script:
- On Windows, double-click the launcher.
- On MacOS/Linux, run:
sh ./launcher_linux_macos.sh
That's it!
Alternatively, in case you experience any issues with the scripts, you can create a new conda environment yourself using provided 'environment.yml' file, by opening Anaconda Prompt and running following commands:
cd /your/bot/location
conda env create -f environment.yml - only required for the first time
conda activate discord_bot
python main.py
IMPORTANT: The console needs to be working in the background for the bot to work.
To have multiple bots, copy-paste your Discord Buddy folder and create for it a new application in Discord Developer App. Each bot needs a separate Discord Token and a console running.
My old tutorials on how to get API Keys:
- Claude (paid): https://rentry.org/marinaraclaude
- Gemini (has a free quota): https://rentry.org/marinaraspaghetti
Personally, I recommend grabbing a custom API Key from OpenRouter and using their free models, like DeepSeek: https://openrouter.ai/models?max_price=0
A versatile AI-powered Discord bot that brings genuine interactions, roleplay, and interactive features to your server! Work with other bots, treating them as other people! Created with spicy sauce by marinara_spaghetti. ๐ And Claude did some coding too, let's be fair (thank you, Claude, very cool).
Use /help to see all the commands.
All easily connectable with a single slash command of /model_set. Just remember to add those API Keys first.
- Claude (Anthropic) - Who doesn't love Sonnet? Even if 3.7 is better than 4.
- Gemini (Google) - 03-25, we still miss you.
- ChatGPT (OpenAI) - For those rare few masochists out there.
- Custom APIs - Tested with OpenRouter and my friend's proxy. Supports connections to locally run models as well!
Decide how many messages are stored in the context with /history_length.
- Context-Aware Responses - Remembers your conversations naturally!
- Image & Voice Support - Bots see pictures, GIFs, and voice messages (dependant on provider).
- Bots see edited messages but not the deleted ones.
- Emoji Reactions - Bots can use and react with emojis (supports custom server emojis, including the animated ones!).
- Bots see other (Buddy) bots as users!
- Autonomous Chatting (Free Will) - Decide in which channels bots will trigger autonomously with
/autonomous_set!
Decide who your bot is with /personality_create.
- Custom Personalities - Create, edit, or delete unique bot characters for your server!
- Per-Server Settings - Different personalities for different communities.
- Persistent Across Restarts - Your bot's personality is saved and remembered.
Choose how your bot communicates with /prompt_set.
- Conversational - Natural style chat with emojis and casual language.
- Asterisk Roleplay - A roleplaying abomination style that some of you apparently like.
- Narrative - Rich, story-driven responses with detailed descriptions.
- NSFW variants - Uncensored versions for adult communities.
- Mention or reply to the bot to start chatting or set up autonomous responses for natural conversation flow.
- Decide in which channel the bot should use a selected prompt style.
- Admin controls for all important settings.
- Full DM support with all features.
- Decide which server's settings to use in DMs.
- Optional auto check-up messages sent by the bot when you're inactive with
/dm_toggle. - Full conversation history loading with
/dm_history_toggle. - Edit and regenerate bot responses with
/dm_edit_lastand/dm_regenerate.
/kiss- Give the bot a kiss and see how they react! ๐/hug- Warm hugs with personality-based responses. ๐ค/joke- Ask for jokes that match the bot's character. ๐/bonk- Playfully bonk the bot's head. ๐จ/bite- Chomp! See how they handle it. ๐ง/affection- Find out how much the bot likes you based on your chat history. ๐
Add new lore entries with /lore_add.
- Server Mode - Add character information about server members.
- DM Mode - Add personal information about yourself for better roleplay.
- Context-Aware - Automatically switches between server and personal lore.
Create memories in DMs and servers, either automatically or manually.
- Auto-generated Memories - Bot creates summaries of important conversations with
/memory_generate. - Manual Memory Saving - Save specific moments or information manually with
/memory_save. - Smart Recall - Bot remembers relevant details when topics come up.
- Separate Storage - Server and DM memories are kept separately.
- Switch between different AI providers per server on the fly.
- Adjust creativity levels (temperature settings) with
/temperature_set. - Real-time provider status checking with
/model_info.
- Clear conversation history with
/clear. - Delete bot messages in bulk with
/delete_messages - Set custom bot activities and status with
/status_setand/activity. - Change bot nickname and avatar (admin only) with
/bot_avatar_setand/bot_name_set.
- Administrator-only configuration commands.
- DM enable/disable for server members with
/dm_enable.
- No conversation logging to files.
- Optional DM functionalities.
- User-controlled data settings.
- Invite the bot to your server.
- Mention the bot (@botname) to start chatting.
- Use
/helpto see all available commands. - Set up your preferences with
/model_set,/personality_create, and/prompt_set. - Have fun!
Enjoying the bot? Consider supporting the creator! Every donation helps!
- โ Ko-fi: https://ko-fi.com/spicy_marinara
If you want to discuss commercial use or something, hit me up first. That would be very kind of you, thank you!
Discord: marinara_spaghetti E-mail: mgrabower97@gmail.com
Special thanks to:
- Claude Sonnet for fixing bugs and setting the groundwork.
- Kuc0 for helping me with the setup scripts.
- Heni for licensing help.
- Crystal for her proxy.
- Dottore for motivating me to finish this.
- Rhy (and his crew), Xixicar, Akiki, Crow, Kiki, Shadow The Shagnus, Vynocchi, and Bun for testing the bots and supporting me.
- My parents for not disinheriting me.
- And you!













