* feat: add docker-compose file * refactor: lower docker-compose version * feat(docker-compose): add help docs and image dir, fix lavalink * fix(docker): missing ffmpeg dependency * fix(docker): compile imagemagick with pango support This fixes commands such as `meme` causing the bot to crash, since Alpine does not have a pango-enabled version of IM7 in its repos. * feat(docker): cache npm dependencies By copying just the `package-(lock).json` and installing dependencies, Docker will cache the deps on subsequent builds. * fix(docker-compose): need to adjust connection addresses The MongoDB and Chrome addresses are automatically passed through with the correct value. A separate `servers.json` file specifically for docker-compose is used with the correct container addresses. Each container has a static ip - this is due to an unfortunate limitation of the Chrome remote debugger, which needs either an IP or `localhost`, and refuses connections to a hostname. * refactor(docker): do not include servers.json for compose Compose will use the normal `servers.json` and users will have to change the hostnames to `lavalink` and `api` respectively. |
||
---|---|---|
.github/workflows | ||
api | ||
assets | ||
commands | ||
events | ||
natives | ||
utils | ||
.dockerignore | ||
.env.example | ||
.eslintrc.json | ||
.gitignore | ||
.gitmodules | ||
app.js | ||
application.yml | ||
binding.gyp | ||
docker-compose.yml | ||
Dockerfile.api | ||
Dockerfile.bot | ||
esmbot.png | ||
LICENSE | ||
messages.json | ||
migratetweets.js | ||
package-lock.json | ||
package.json | ||
PRIVACY.md | ||
readme.md | ||
servers.json |
esmBot
esmBot is an easily-extendable, multipurpose, and entertainment-focused Discord bot made using Eris with image, music, and utility commands, alongside many others.
Usage
You can invite the bot to your server using this link: https://projectlounge.pw/invite
A command list can be found here.
The bot is only supported on Linux/Unix-like operating systems. If you want to run it locally for testing purposes, you should install ImageMagick (version >=7), FFmpeg, MongoDB, and the Microsoft core fonts:
# On most Debian/Ubuntu-based distros you will need to build ImageMagick from source instead of installing from apt/similar package managers.
# Instructions to do so can be found here: https://imagemagick.org/script/install-source.php
sudo apt-get install imagemagick ffmpeg mongodb ttf-mscorefonts-installer
After that, you should install the rest of the dependencies using npm:
npm install
And set up Lavalink: https://github.com/Frederikam/Lavalink#server-configuration
Finally, fill in the info inside .env.example
, rename it to .env
, and run app.js
.
If you need any help with setting up the bot locally, feel free to ask in the #self-hosting channel on the esmBot Support server.
Credits
Icon by Stellio. All images, sounds, and fonts are copyright of their respective owners.