Echo Discord Bot is a Discord bot that provides FAQ functionality. It's powered by discord.js v14, Strapi v4 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 DockerHub as delemangi/echo-discord-bot
and delemangi/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
docker-compose.prod.yaml
from the repository, put it in a folder and rename it todocker-compose.yaml
- Pull the images:
docker compose pull
Using the repository:
- Clone the repository:
git clone git@github.com:Delemangi/echo-discord-bot.git
- Build the images:
docker compose build
- Clone the repository:
git clone git@github.com:Delemangi/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 docker-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 start
orcd api && npm run develop
for development mode - Run the Discord bot project:
cd ../bot && npm run start
orcd ../bot && npm run dev
for 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 MIT license.