port of esmBot to operate in Matrix
Find a file
samhza ed25116851
Assorted db changes (#333)
* postgres: use transaction-scoped sql for upgrade

* database: combine fixGuild and addGuild into getGuild

* postgres, sqlite: simplify upgrade()

* allow running commands in DMs without prefix

this functionality was broken in
16095c0256 but is now fixed

* allow running esmBot without a database

Before this change, the only way to run esmBot without a database is to use the
dummy database driver which is broken but fails silently. THis can lead to a
confusing user experience. For instance, using `&command disable` with the
dummy database driver will tell you that the command has been disabled even
though it has not been.

This change adds support for running esmBot with no database driver by leaving
the DB= config option empty, and explicitly telling the user that some
functionality is now unavailable rather than failing silently like the dummy
driver.

* remove dummy database driver
2022-12-12 11:15:10 -06:00
.github this should *actually* work 2022-11-11 12:31:21 -06:00
api Some fixes and whatnot 2022-11-27 14:52:40 -06:00
assets Swap out diffuse image for brighter version 2022-11-26 17:45:32 -06:00
classes Remove "requires" command field, overhaul Lavalink connection, fix message objects not being properly sent 2022-10-11 10:46:10 -05:00
commands Assorted db changes (#333) 2022-12-12 11:15:10 -06:00
config Replace more projectlounge.pw references 2022-11-10 23:55:54 -06:00
docs Assorted db changes (#333) 2022-12-12 11:15:10 -06:00
events Assorted db changes (#333) 2022-12-12 11:15:10 -06:00
natives use new typing and functions for more "safety" (#332) 2022-12-03 13:49:28 -06:00
utils Assorted db changes (#333) 2022-12-12 11:15:10 -06:00
.dockerignore Added Dockerfile for api, allow bot to be run via npm start 2020-09-26 11:23:27 -05:00
.editorconfig allow custom port for API server (#204) 2021-12-17 22:44:53 -06:00
.env.example Remove Top.gg integration 2022-11-26 15:27:59 -06:00
.eslintrc.json Replace pg with postgres, add swirl alias, await ping edit, added debug scripts to package.json 2022-09-12 16:45:32 -05:00
.gitignore Initial Oceanic port (still unfinished), update packages, remove serverinfo and userinfo 2022-09-23 22:25:16 -05:00
.gitmodules Added support for British flags to flag, updated region-flags repo URL 2021-11-25 17:14:41 -06:00
app.js Assorted db changes (#333) 2022-12-12 11:15:10 -06:00
application.yml Updated lavasrc-plugin to 3.1.7 (#334) 2022-12-03 13:49:44 -06:00
CMakeLists.txt fix mac build (#324) 2022-11-03 16:48:51 -05:00
docker-compose.yml simplify postgres and sqlite database initialization, remove psqlinit.sh (#331) 2022-11-26 15:31:00 -06:00
Dockerfile Load fonts directly from assets directory, fix image buffer issues 2022-09-22 23:44:54 -05:00
ecosystem.config.cjs Implement pm2 shard management 2022-10-04 12:10:06 -05:00
LICENSE Update license 2022-01-02 13:12:31 -06:00
mkdocs.yml Remove creation date from mkdocs, added ability to limit owner commands to certain server, don't append help command to end of playing message if classic commands are disabled, fix interaction upload size 2022-09-01 10:40:55 -05:00
package.json Properly ack Select Image requests, add client key to Tenor request, update packages 2022-12-12 11:07:58 -06:00
pnpm-lock.yaml Properly ack Select Image requests, add client key to Tenor request, update packages 2022-12-12 11:07:58 -06:00
PRIVACY.md please email the esmbot domain instead 2022-11-11 00:23:07 -06:00
README.md Remove Top.gg integration 2022-11-26 15:27:59 -06:00

esmBot

esmBot Support GitHub license

esmBot is a free and open-source Discord bot designed to entertain your server. It's made using Oceanic and comes with image, music, and utility commands out of the box.

Features

  • Powerful, efficient, and performant image processing powered by libvips
  • Lots of image manipulation and processing commands out of the box
  • Handling of output images larger than 8MB via a local web server
  • Optional WebSocket/HTTP-based external image API with load balancing
  • Music and sound playback from many different configurable sources via Lavalink
  • Server tags system for saving/retrieving content
  • Low RAM and CPU usage when idle
  • Support for slash/application commands and classic, prefix-based message commands
  • Support for multiple database backends (PostgreSQL and SQLite backends included)
  • PM2-based cluster/shard handling
  • Flexible command handler allowing you to create new commands by adding script files

Usage

You can invite the main instance of esmBot to your server using this link: https://esmbot.net/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 Steel. All images, sounds, and fonts are copyright of their respective owners.