Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/discord-akairo/discord-akairo

A bot framework for Discord.js.
https://github.com/discord-akairo/discord-akairo

bot-framework discord discord-akairo discord-js

Last synced: about 12 hours ago
JSON representation

A bot framework for Discord.js.

Awesome Lists containing this project

README

        





discord-akairo





NPM version
NPM downloads
Build status



npm installnfo


## Features

#### Completely modular commands, inhibitors, and listeners.

- Reading files recursively from directories.
- Adding, removing, and reloading modules.
- Creating your own handlers and module types.

#### Flexible command handling and creation.

- Command aliases.
- Command throttling and cooldowns.
- Client and user permission checks.
- Running commands on edits and editing previous responses.
- Multiple prefixes and mention prefixes.
- Regular expression and conditional triggers.

#### Complex and highly customizable arguments.

- Support for quoted arguments.
- Arguments based on previous arguments.
- Several ways to match arguments, such as flag arguments.
- Casting input into certain types.
- Simple types such as string, integer, float, url, date, etc.
- Discord-related types such as user, member, message, etc.
- Types that you can add yourself.
- Asynchronous type casting.
- Prompting for input for arguments.
- Customizable prompts with embeds, files, etc.
- Easily include dynamic data such as the incorrect input.
- Infinite argument prompting.

#### Blocking and monitoring messages with inhibitors.

- Run at various stages of command handling.
- On all messages.
- On messages that are from valid users.
- On messages before commands.

#### Helpful events and modular listeners.

- Events for handlers, such as loading modules.
- Events for various stages of command handling.
- Reloadable listeners to easily separate your event handling.

#### Useful utilities and database providers.

- Resolvers for members, users, and others that can filter by name.
- Shortcut methods for making embeds and collections.
- Simple to use database providers.
- Built-in support for `sqlite` and `sequelize`.
- Works on entire table or single JSON column.
- Caching data from databases.

## Installation

Requires Node 16.6.0+ and Discord.js v13.

*discord-akairo*
`npm install discord-akairo`

*discord.js*
`npm install discord.js`

*sqlite (optional)*
`npm install sqlite`

*sequelize (optional)*
`npm install sequelize`

## Links

- [Website](https://discord-akairo.github.io)
- [Repository](https://github.com/discord-akairo/discord-akairo)
- [Changelog](https://github.com/discord-akairo/discord-akairo/releases)
- [Discord](https://discord.gg/arTauDY)

## Contributing

Open an issue or a pull request!
Everyone is welcome to do so.
Make sure to run `npm test` before committing.