Discord bot framework built on discord.js


Keywords
discord, discordapp, framework, client, discord-js, nodejs, typescript
License
MIT
Install
npm install disharmony@2.0.8

Documentation

Build status

Disharmony

A Discord bot framework built on top of discord.js with command parsing and basic Mongo-like database integration

Features

  • Built on top of discord.js
  • Command handling
    • Syntax parsing
    • Per-server configurable prefix
    • Permission levels
  • Basic default commands
    • Help menu
    • Statistics
    • Version number
  • Mongo-like database support
  • Extensible

Use cases

  • Create bots without bothering with boilerplate
  • Focus on bot features rather than discord/database integrations
  • Reduce the amount of similar code between bots

Examples

Development

Prerequisites

Setup

  • npm install to install dependencies
  • tsc to compile JS into dist/

Tests

  • Written in TypeScript using Alsatian
  • Run with npm test

CI setup

  • The repository is configured for CI using Buildkite

  • Pipelines are stored in .buildkite and should be loadeg using Buildkite's 'read from repository' step

  • The standard pipeline deals with linting, building and running tests

  • The publish pipeline will publish the package to NPM when triggered

    • The Buildkite agent must have an NPM auth token set in the NPM_AUTH_TOKEN environment variable
  • Docker and Git must both be installed on the Buildkite agent

  • If running the agent on Windows, a couple of extra configuration steps need to be performed

    • The drive the Buildkite agent writes to needs to be shared with Docker
    • Git's /bin folder needs to be in the PATH
    • Git's global config option core.autocrlf needs to be set to false (as the files are used in a Linux docker image)

Built With

Documentation

Versioning

SemVer is used for versioning; view available versions on the tags page

License

This project is licensed under the MIT License - see the LICENSE file for details