port of esmBot to operate in Matrix
c00d518f6e
Before this change, uninitialized databases would be initialized with the old schema and then migrated to the latest version. After this change, unintialized databases are initizialized with the latest database schema immediately, without having to run any of the migrations. This change has no effect on existing databases. Before this change, Postgres database initialization was done manually using utils/psqlinit.sh. This is inconsistent with SQLite, which the bot initializes itself. It also requires shell access to the server running the Postgres instance, which means it cannot be used on managed Postgres instances. After this change, the bot initializes Postgres databases as it does with SQLite, and utils/psqlinit.sh has been removed as it is now unecessary. |
||
---|---|---|
.github | ||
api | ||
assets | ||
classes | ||
commands | ||
config | ||
docs | ||
events | ||
natives | ||
utils | ||
.dockerignore | ||
.editorconfig | ||
.env.example | ||
.eslintrc.json | ||
.gitignore | ||
.gitmodules | ||
app.js | ||
application.yml | ||
CMakeLists.txt | ||
docker-compose.yml | ||
Dockerfile | ||
ecosystem.config.cjs | ||
LICENSE | ||
mkdocs.yml | ||
package.json | ||
pnpm-lock.yaml | ||
PRIVACY.md | ||
README.md |
esmBot
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.