This repository contains the various Pieces submitted by users and collaborators.
Pieces are simply parts of code that can be downloaded and installed straight into your Klasa bot installation.
Pieces can include:
- Commands: Chat commands that generally respond with a message after taking some actions.
- Events: Pieces that get executed when a Discord event triggers.
- Extendables: Pieces that act passively, attaching new getters, setters or methods or static to the current Discord.js classes. They're executed at startup before any other piece.
- Finalizers: Pieces that run on messages after a successful command.
- Inhibitors: Inhibitors are pieces that run before a command is executed and may take action on the message received, and block a command from running in certain cases (thus inhibit a command).
- Monitors: Monitors are pieces that can run on every message, whether or not it triggers a command. Useful for spam monitoring, swear filters, etc.
- Providers: Support for a specific database type. By default a very small amount of DBs are supported, but you can extend the support by adding a provider for whatever database you choose, and configure it to point to your own database.
- Tasks: Pieces that get executed on scheduled tasks.
Check out the documentation:
To submit your own pieces for approval (quick steps):
- Fork this repository
- Create a new piece in the appropriate folder
- Lint your code with klasa-lint
- Create a Pull Request to the repository
- Be patient. Someone will approve/deny it as soon as they can
We will automatically deny PRs that:
- Have identical functionality to an existing Piece
- Have code that breaks/does not catch errors/etc
- Contain NSFW, NSFL contents or contents we deem to be unacceptable
- Contain hacks/exploits/etc
- Have code that might cause a bot to break the TOS or Ratelimits
- Do not abide by our Code of Conduct
- Any reason WE feel is valid
WE RESERVE THE RIGHT TO REFUSE ANY CONTENTS FOR ANY REASON WHETHER YOU ACCEPT THEM OR NOT.