port of esmBot to operate in Matrix
Find a file
Jake Stanger c6b7e6629c
Add docker-compose file (#27)
* 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.
2020-12-07 20:40:17 -06:00
.github/workflows even more pain 2020-11-20 13:51:28 -06:00
api Added warning message for Win32, fixed api not getting env data 2020-12-03 10:30:33 -06:00
assets A bit of cleanup 2020-07-28 09:38:55 -05:00
commands Added reply support to image detection, added stealth plugin to screenshot, made credits static, more fixes 2020-11-26 09:31:24 -06:00
events Caption now supports more unicode characters, more api work, fixed multiple bugs 2020-11-05 15:40:18 -06:00
natives Fixed caption font sizing 2020-11-09 22:04:29 -06:00
utils Made image functions run on a worker thread when the API is disabled 2020-11-26 11:48:19 -06:00
.dockerignore Added Dockerfile for api, allow bot to be run via npm start 2020-09-26 11:23:27 -05:00
.env.example Caption now supports more unicode characters, more api work, fixed multiple bugs 2020-11-05 15:40:18 -06:00
.eslintrc.json Updated eslint parser to use ES2019, allow using backspace before comma in meme/motivate 2020-03-30 09:02:51 -05:00
.gitignore Added script to migrate tweets 2020-07-26 19:58:19 -05:00
.gitmodules Changed source of flags, added new activity message 2020-06-21 12:12:58 -05:00
app.js Added warning message for Win32, fixed api not getting env data 2020-12-03 10:30:33 -06:00
application.yml Added initial music commands and category, moved lavalink node config to separate file 2020-07-06 15:19:30 -05:00
binding.gyp Remove warnings while building image commands 2020-10-06 15:21:39 -05:00
docker-compose.yml Add docker-compose file (#27) 2020-12-07 20:40:17 -06:00
Dockerfile.api Add docker-compose file (#27) 2020-12-07 20:40:17 -06:00
Dockerfile.bot Add docker-compose file (#27) 2020-12-07 20:40:17 -06:00
esmbot.png Added stats, fixed some bugs, removed unneeded dependencies 2019-09-14 23:22:29 -05:00
LICENSE Updated license 2020-01-10 13:44:29 -06:00
messages.json Fixed characters not being properly encoded, fixed images not being properly appended, more fixes 2020-09-09 21:36:20 -05:00
migratetweets.js Added script to migrate tweets 2020-07-26 19:58:19 -05:00
package-lock.json Added reply support to image detection, added stealth plugin to screenshot, made credits static, more fixes 2020-11-26 09:31:24 -06:00
package.json Added reply support to image detection, added stealth plugin to screenshot, made credits static, more fixes 2020-11-26 09:31:24 -06:00
PRIVACY.md Add emphasis to what is stored in the database 2020-05-15 14:28:58 -05:00
readme.md Changed include dirs, updated readme/packages, use more efficient command checking, fixed reverse 2020-09-12 13:57:25 -05:00
servers.json Switched to an image API implementation by Terradice 2020-11-17 08:52:12 -06:00

esmBot

esmBot Support GitHub license

esmBot is an easily-extendable, multipurpose, and entertainment-focused Discord bot made using Eris with image, music, and utility commands, alongside many others.

Top.gg

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.