/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: yarn add @yamdbf/core
  • With the Postgres provider: yarn add @yamdbf/core pg sequelize
  • With the SQLite provider: yarn add @yamdbf/core sqlite3 sequelize
  • With the MySQL provider: yarn add @yamdbf/core mysql2 sequelize
  • With the MSSQL provider: yarn add @yamdbf/core tedious sequelize

Indev builds can be installed from github with yarn add yamdbf/core#indev. This requires git 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

NPM can also be used for installation.

Documentation for indev builds can be found here.

Links