9.0.0 • Published 3 years ago

@mythcordbot/discord-akairo v9.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

Changes in this fork of akairo (mythcordbot/discord-akairo)

Allow discord-akairo to be compiled with isolatedModules option enabled. Because Next.js mandatorily requires isolatedModules option to be enabled because they use Babel. With how we setup Next.js on the bot we can't seem to find a good workaround without bloating the project too much. _(why must we suffer vercel)

If you're not using Typescript on your project, it's better not to use this fork. Same goes for projects who doesn't use Next.js or Babel, or anything that require isolatedModules option enabled on the tsconfig.

Changes in the orginal fork (NotEnoughUpdates/discord-akairo)

Please see this file for a list of changes in this fork vs normal akairo. If you have any questions related to this fork please contact IRONM00N#0001 in the akairo server or join my bot's discord.

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.

  • Resolvers for members, users, and others that can filter by name.
  • Shortcut methods for making embeds and collections.

Installation

Requires Node 16+ and Discord.js v13.

Yarn 2.0+ needs to have the version specified due to this issue. If you are using yarn 2.0 use the second command.

discord-akairo yarn add discord-akairo@npm:@notenoughupdates/discord-akairo yarn add discord-akairo@npm:@notenoughupdates/discord-akairo@9.0.0 npm i discord-akairo@npm:@notenoughupdates/discord-akairo

discord.js fork optional you can use regular discord.js instead if you want yarn add discord.js@npm:@notenoughupdates/discord.js yarn add discord.js@npm:@notenoughupdates/discord.js@13.2.0-dev npm i discord.js@npm:@notenoughupdates/discord.js

Links

Contributing

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