2.1.0 • Published 4 years ago
@chelium/disharmony v2.1.0
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
- MongoDB
- NeDB Core
- 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
- NodeJS v10 installed
Setup
npm install
to install dependenciestsc
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
- TypeScript - language
- discord.js - Discord library
- NeDB - local database engine
- MongoDB - remote database engine
- Alsatian - test framework
- TypeMoq - mocking library
Documentation
- See docs/
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