port of esmBot to operate in Matrix
Find a file
adroitwhiz 3de4858b5a
Clean up image API code paths (#49)
* Document image.js a bit

* Close image.js sockets in all code paths

I'm not sure whether sockets get GC'd when the function returns

* Remove getFormat

It was only called from one place, and the object property names were
quite confusing

* Clean up image.js conditional a bit

I had to write out an entire truth table for this and work it all out
Thinking hard

* Move actual ImageMagick calling into separate file

This gets rid of the weird, brain-melting ouroboros of code that
recurses across threads and processes.

* Reduce amount of getType wrangling

This amounted to an awful lot of dead conditionals after the image
commands were all modified to pass in image types anyway. This has also
led to two different implementations diverging, which causes bugs like
GIF commands applied to non-GIFs erroring instead of providing a
user-friendly message.

* Unify image-runner return type, clarify image type

This allows us to remove the fromAPI parameter from image-runner, and
helps greatly clarify the behavior around image types.

* Deduplicate GIF code, fix "not a GIF" handling

The special "nogif" value is now stored as the image type instead of its
value, as the value must always be a Buffer now--no loosely-typed
shenanigans.
2021-01-09 19:50:29 -06:00
.github/workflows even more pain 2020-11-20 13:51:28 -06:00
api Clean up image API code paths (#49) 2021-01-09 19:50:29 -06:00
assets A bit of cleanup 2020-07-28 09:38:55 -05:00
commands Clean up image API code paths (#49) 2021-01-09 19:50:29 -06:00
events Added more activity messages, updated packages, allow any public Lavalink instance to be used via the "local" parameter, added clearer error message for API timeouts 2021-01-04 10:29:18 -06:00
natives Fixed caption font sizing 2020-11-09 22:04:29 -06:00
utils Clean up image API code paths (#49) 2021-01-09 19:50:29 -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 Changed DB config settings 2020-12-18 16:05:43 -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 example tweets.json file 2020-12-08 09:39:23 -06:00
.gitmodules Changed source of flags, added new activity message 2020-06-21 12:12:58 -05:00
app.js Fixed database stop crash, made playing status use the current bot username 2020-12-18 18:57:41 -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 Handle API errors more gracefully, fixed sharpen, restrict screenshot to the bot owner 2020-12-14 10:58:31 -06:00
docker-compose.yml Final fixes 2020-12-29 20:33:51 -06:00
Dockerfile.api Added load-based api node selection 2020-12-25 20:27:45 -06:00
Dockerfile.bot More docker fixes 2020-12-25 09:47:22 -06:00
esmbot.png Added stats, fixed some bugs, removed unneeded dependencies 2019-09-14 23:22:29 -05:00
LICENSE Another attempt to fix the EMFILE error, update license for the new year 2021-01-02 22:40:44 -06:00
messages.json The image API no longer uses a unique thread for each job (due to image processing using its own thread anyway), added dummy DB driver 2021-01-06 16:10:31 -06:00
migratetweets.js Added script to migrate tweets 2020-07-26 19:58:19 -05:00
package-lock.json Added more activity messages, updated packages, allow any public Lavalink instance to be used via the "local" parameter, added clearer error message for API timeouts 2021-01-04 10:29:18 -06:00
package.json Update file-type dependency (#51) 2021-01-09 12:39:19 -06:00
PRIVACY.md Add emphasis to what is stored in the database 2020-05-15 14:28:58 -05:00
readme.md Updated readme to point to new setup guide 2020-12-08 09:59:57 -06:00
servers.json Added more activity messages, updated packages, allow any public Lavalink instance to be used via the "local" parameter, added clearer error message for API timeouts 2021-01-04 10:29:18 -06:00
tweets.json Added example tweets.json file 2020-12-08 09:39:23 -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.

If you want to self-host the bot, a guide can be found here.

Credits

Icon by Stellio. All images, sounds, and fonts are copyright of their respective owners.