Jakey Bot is a multi-model AI and music bot with personality, designed to give you access to popular AI chatbots from Google Gemini, OpenAI, Anthropic, Mistral, LLaMA, OpenRouter right within Discord!
This bot uses models from Google, OpenAI, Anthropic, Mistral, or use OpenRouter for unified access to some models using LiteLLM! Combined with best Python and Discord APIs to create a helpful AI assistants
Jakey AI is available as Discord Bot. Other platforms is coming soon!
- Access to the top AI flagship models right within Discord!
- Summarize text channels and messages
- Multimodality support and summarize file attachments!
- Browse, run python code, edit images right within chat
- Create and conversationally edit images using Gemini 2.0 Flash Image generation
Other non-AI extras include:
- Mimic other users
- Read message history for channel summaries
- Embed messages (required for rendering text more than 2000 and for most commands)
- Send messages
- Attach files
- Create webhooks (for mimic commands)
- Create/Use slash commands
- Create and send messages in threads
- View Channels
- Add Reactions
For demo version, you can add this bot and see the required permissions and capabilities: https://discord.com/oauth2/authorize?client_id=1051409808877699072&permissions=563330095107136&integration_type=0&scope=bot
The best way to get started is through Docker method... You can directly pull the image from my Docker 🐳 Hub repository and simply run the bot below:
~ $ docker pull zavocc/jakey:sugilite
~ $ docker run -it --env-file dev.env --rm zavocc/jakey:sugilite
NOTE: You need to provide the dev.env file as explained below
Manual installation
But if you prefer manual method without using containers, you need to install Python version atleast 3.10+ with pip and venv is highly preferred and run the commandsYou must create a virtual environment before proceeding which you can do by running:
python -m venv .venv
# Activate
. .venv/bin/activate
Install dependencies as needed
pip3 install -r requirements.txt
# This is optional
pip3 install gradio_client
pip3 uninstall py-cord discord.py
pip3 install py-cord
After you install the required dependencies, configure your bot first by heading over to dev.env.template and save it as dev.env
in the gitroot directory
You will need to provide Discord bot token from the developers portal.
Please see CONFIG.md for more information about configuration.
THIS FEATURE IS ON HOLD!
Get started by asking Jakey /ask prompt:Who are you and how can I get started
or @Jakey what can you do?
Once you added or installed Jakey to your server or yourself, you can mention @Jakey along with your prompt or directly message Jakey in DMs. If you use Gemini model, you can prompt files such as images, audio, video, and visual PDFs too!
When you enter a prompt to Jakey... you can use chat variables which are substrings to detect which action to perform before sending the request to LLM
prompt /chat:ephemeral
- Do not append the last message turn to chat history while having its previous memoryprompt /model:model-name
- Set model for the response on demand. (See/model list
to choose available model names)prompt /chat:info
- Show model used in the conversation.
For claude-specific models, you can also use the /cache:true
prompt variable to cache your inputs and save costs... Good for attaching PDF files.
The default model used for chat experience is Gemini 2.5 Flash Thinking, including other experiences like message summarization. However, you can switch to different chat models as you choice offered by OpenAI, Anthropic, xAI, DeepSeek, and LLaMA and custom models with OpenRouter.
You can also sticky set the model using /model set
command, or list models using /model list
command.
If you decide touse OpenRouter model, you will need to configure /openrouter
command first by setting the model names through https://openrouter.ai/models
When you set a model, you are switching chat threads to that model associated for that provider... So switching to GPT-4o model would have its own chat thread and files, but you can always switch back to previous provider with it's memory. Note that switching models for OpenRouter would result in chat thread being cleared to ensure consistency
If you decide to use other models please see Models comparison and the LLM arena by livebench to understand your models use cases.
Jakey provides slash commands such as:
/ask
- Ask Jakey quick questions./sweep
- Clear the conversation/feature
- Extend Jakey skills by activating chat tools! (Clears conversation when feature are set, only supports Gemini models)/model set
and/model list
to list available models./openrouter
- Access additional models from OpenRouter (/model set:openrouter
must be set)/summarize
- Summarize the current text channel or thread and gather insights into a single summary thanks to Gemini 2.0 Flash's long context it can understand conversations even from the past decade!/mimic
- Mimics other users using webhook
Jakey also has message actions or apps which is used to take action on a selected message. Such as explain, rephrase, or suggest messages using Gemini 2.0 Flash.
Please see FAQ for more information.