Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mekb-turtle/discord-ai-bot

Discord AI chatbot using Ollama
https://github.com/mekb-turtle/discord-ai-bot

ai ai-chatbot discord-bot ollama

Last synced: 29 days ago
JSON representation

Discord AI chatbot using Ollama

Awesome Lists containing this project

README

        



Discord AI Bot



Discord bot to interact with Ollama and AUTOMATIC1111 Stable Diffusion as a chatbot



Stars



Discord chat with the bot


### New Maintainer
This repository is no longer being developed on by me, [mekb-turtle](https://github.com/mekb-turtle).

### Set-up instructions
1. Install [Node.js](https://nodejs.org) (if you have a package manager, use that instead to install this)
- Make sure to install at least v14 of Node.js
2. Install [Ollama](https://github.com/jmorganca/ollama) (ditto)
3. Pull (download) a model, e.g `ollama pull orca` or `ollama pull llama2`
4. Start Ollama by running `ollama serve`
5. [Create a Discord bot](https://discord.com/developers/applications)
- Under Application » Bot
- Enable Message Content Intent
- Enable Server Members Intent (for replacing user mentions with the username)
6. Invite the bot to a server
1. Go to Application » OAuth2 » URL Generator
2. Enable `bot`
3. Enable Send Messages, Read Messages/View Channels, and Read Message History
4. Under Generated URL, click Copy and paste the URL in your browser
7. Rename `.env.example` to `.env` and edit the `.env` file
- You can get the token from Application » Bot » Token, **never share this with anyone**
- Make sure to change the model if you aren't using `orca`
- Ollama URL can be kept the same unless you have changed the port
- You can use multiple Ollama servers at the same time by separating the URLs with commas
- Set the channels to the channel ID, comma separated
1. In Discord, go to User Settings » Advanced, and enable Developer Mode
2. Right click on a channel you want to use, and click Copy Channel ID
- You can edit the system message the bot uses, or disable it entirely
8. Install the required dependencies with `npm i`
0. Start the bot with `npm start`
10. You can interact with the bot by @mentioning it with your message
11. Install Stable Diffusion
12. Run the script `./webui.sh --api --listen`

### Set-up instructions with Docker
1. Install [Docker](https://docs.docker.com/get-docker/)
- Should be atleast compatible with version 3 of compose (docker engine 1.13.0+)
2. Repeat steps 2—7 from the other setup instructions
3. Start the bot with `make compose-up` if you have Make installed
- Otherwise, try `docker compose -p discord-ai up` instead
4. You can interact with the bot by @mentioning it with your message