YAMDBF: Yet Another Modular Discord Bot Framework
YAMDBF is a lightweight Discord Bot framework for rapid bot development using Discord.js, making it simple to get a bot up and running with minimal effort and configuration.
Features
- Fully localizable (English by default)
- Base commands for control over default settings
- Full control over all base commands via disabling or overloading
- Simple structure for creation of custom commands
- Automatic custom command loading
- Fine control of command execution per-user/globally via configurable ratelimits
- Robust middleware system for fine control of execution flow and
control over the data passed to your commands- Ships with methods for resolving different data types and ensuring
certain args/types are passed to commands
- Ships with methods for resolving different data types and ensuring
- Easy to use storage with support for custom storage providers
- Ships with a default JSON provider, and other optional providers using Sequelize:
- Postgres
- SQLite
- Ships with a default JSON provider, and other optional providers using Sequelize:
- Easy to use Plugin system
- Full TypeScript support (It's written in it!)
- Support for decorators for simpler handling of:
- Event listeners
- Command metadata
- Command middleware assignment
- Attaching Logger for logging/debugging
- Support for decorators for simpler handling of:
Installation
Ignore any warnings about unmet peer dependencies as they are all optional unless using a Sequelize-based storage provider.
Note: YAMDBF Requires > Node 8.0.0 to run
- Regular install:
npm install --save @yamdbf/core
- With a Postgres provider:
npm install --save @yamdbf/core pg sequelize
- With an SQLite provider:
npm install --save @yamdbf/core sqlite3 sequelize
Indev builds can be installed from github with
npm install --save yamdbf/core#indev
. This requiresgit
to be installed and in your path. Also note that until Yarn supports submodules in git dependencies, NPM must be used to install YAMDBF indev at any point that YAMDBF indev is reliant on an indev version of Discord.js
Documentation for indev builds can be found here.