Echo Discord Bot is a Discord bot that provides FAQ functionality. It's powered by discord.js v14, Strapi v5 and PostgreSQL v16.
It's recommended to run this application in a Docker environment if you wish to retain your sanity.
The bot provides a simple & customizable FAQ functionality with user friendly configuration through Strapi. The questions support links (as buttons) and files of different formats.
For development purposes, be sure to run npm run prepare to install the Git pre-commit hooks.
The project is available as a Docker image on GHCR as finki-hub/echo-discord-bot and finki-hub/echo-strapi. Beware that there are two (three with PostgreSQL) Docker images which have to be running at the same time.
Using the provided production Docker Compose setup:
- Download the
compose.prod.yamlfrom the repository, put it in a folder and rename it tocompose.yaml - Pull the images:
docker compose pull
Using the repository:
- Clone the repository:
git clone git@github.com:finki-hub/echo-discord-bot.git - Build the images:
docker compose build
- Clone the repository:
git clone git@github.com:finki-hub/echo-discord-bot.git - Go to the bot subdirectory:
cd bot - Install the Discord bot dependencies:
npm i - Build the project:
npm run build - Go to the Strapi directory:
cd ../api - Install the Strapi dependencies:
npm i - Build the project:
npm run build
Regardless of the Docker steps you have followed above for installation, run docker compose up -d, provided that you have a compose.yaml file ready.
- Make sure that you have the PostgreSQL instance running (with an empty database if it's your first run)
- Run the Strapi project:
cd api && npm run startorcd api && npm run developfor development mode - Run the Discord bot project:
cd ../bot && npm run startorcd ../bot && npm run devfor development mode
Copy the env.example file in the project root, rename it to .env and edit the environment variables inside.
This project is licensed under the terms of the MIT license.