/core

The core YAMDBF Framework

Primary LanguageTypeScriptMIT LicenseMIT

YAMDBF: Yet Another Modular Discord Bot Framework

Discord npm David David Travis

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
  • 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
  • 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

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.

Links