/discord-ai-bot

Discord AI chatbot using Ollama

Primary LanguageJavaScript

Discord AI Bot

Discord bot to interact with Ollama as a chatbot

Stars

Discord chat with the bot

Archived

I have decided to archive this project as I no longer have the time to maintain it. If you would like to take over the project, please let me know.

Set-up instructions

  1. Install Node.js (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 (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
    • 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. Start the bot with npm start
  9. You can interact with the bot by @mentioning it with your message

Set-up instructions with Docker

  1. Install 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