A free and open-source Discord bot designed to entertain your server https://esmbot.net
Find a file
2026-01-09 13:03:32 -06:00
.github refactor: More "image" to "media" renaming 2025-12-02 13:23:24 -06:00
assets chore: Remove year from snowglobe base 2026-01-05 20:15:55 -06:00
commands feat: Add snow flag to globe 2025-12-10 21:29:36 -06:00
config refactor: Make room for more potential media types 2025-12-02 22:03:00 -06:00
db chore: Move default SQLite db location into new directory 2025-05-31 11:13:24 -05:00
docs docs: Document required permission changes for Lavalink plugin cache on Docker 2025-12-19 14:59:37 -06:00
locales chore: Change "esmBot Support server" to "Join esmBot Support" 2025-12-10 21:46:25 -06:00
natives fix: Preserve loop count on deepfry and jpeg 2026-01-09 13:03:32 -06:00
src fix: Handle SIGTERM in media API 2026-01-07 20:23:35 -06:00
.clang-format style: Lint with clang-format 2025-06-04 13:06:31 -05:00
.clangd chore: Add clangd and biome configs 2023-12-23 19:11:05 -06:00
.dockerignore build: Multiple Docker fixes 2025-04-24 17:14:48 -05:00
.editorconfig allow custom port for API server (#204) 2021-12-17 22:44:53 -06:00
.env.example refactor: Make room for more potential media types 2025-12-02 22:03:00 -06:00
.gitignore chore: Add .DS_Store to gitignore 2025-10-04 17:28:04 -05:00
.gitmodules Switch to region-flags fork 2023-05-07 15:24:46 -05:00
.prettierignore chore: Migrate from Biome to ESLint/Prettier 2025-02-20 20:11:39 -06:00
.prettierrc chore: Migrate from Biome to ESLint/Prettier 2025-02-20 20:11:39 -06:00
application.yml chore: Update Lavalink plugins 2025-10-25 12:12:44 -05:00
CMakeLists.txt build: Add backward to cli 2025-12-03 11:36:12 -06:00
compose.yml chore: Rename docker-compose.yml to compose.yml 2025-12-19 15:14:44 -06:00
deno.json chore: Set default Deno permissions in config 2025-09-12 19:09:22 -05:00
Dockerfile build: A few Dockerfile tweaks 2025-12-20 00:21:06 -06:00
ecosystem.config.cjs fix: Fix ecosystem path 2025-05-14 20:40:09 -05:00
eslint.config.js refactor: Drop Bun support 2025-12-06 22:19:42 -06:00
LICENSE chore: Update license year 2026-01-05 20:14:55 -06:00
mkdocs.yml docs: Add runtimes page to sidebar 2025-07-20 17:31:22 -05:00
package.json chore: Update pnpm 2025-12-26 20:50:38 -06:00
pnpm-lock.yaml chore: Update pnpm 2025-12-26 20:50:38 -06:00
PRIVACY.md style: Lint/format 2025-04-23 19:14:34 -05:00
README.md refactor: More "image" to "media" renaming 2025-12-02 13:23:24 -06:00
tsconfig.json fix: Tweak tsconfig to ensure Node's type stripping works 2025-07-22 17:19:29 -05: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 Discord's upload limit via a local web server
  • Optional WebSocket/HTTP-based external media API
  • Music 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.

Contributing

esmBot is licensed under the MIT License. Issues and pull requests are accepted to introduce features and fix bugs, and translations into different languages are accepted via Weblate.

Translation status

Credits

Icon by Steel. All images and fonts are copyright of their respective owners.