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
- MySQL
- MSSQL
- 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 the Postgres provider:
npm install --save @yamdbf/core pg sequelize
- With the SQLite provider:
npm install --save @yamdbf/core sqlite3 sequelize
- With the MySQL provider:
npm install --save @yamdbf/core mysql2 sequelize
- With the MSSQL provider:
npm install --save @yamdbf/core tedious sequelize
Indev builds can be installed from NPM:
npm install --save @yamdbf/core@indev
Documentation for indev builds can be found here.
Indev builds currently require >= Node 14.0.0 to run.