Kord Extensions is an addon for the excellent Kord library. It intends to provide a framework for larger bot projects, with easy-to-use commands, rich argument parsing and event handling, wrapped up into individual extension classes.
The approach taken here is relatively different from many Kotlin Discord libraries, many of which prefer to provide a DSL for quickly prototyping or implementing a small application. Instead, discord.py (the Discord library for Python) is a primary source of inspiration for our fairly object-oriented design, especially where it comes to its extensions (which are known as "cogs" in discord.py). Despite this, we still strive to provide an idiomatic API that makes full use of Kotlin's niceties.
Why not other Kord-based frameworks?
The Kord ecosystem has become rich with frameworks of many types, including an official framework named
kordx.commands. We believe that Kord Extensions speaks for itself - so we've created a feature comparison matrix that includes all of the major Kord-based frameworks.
Not every framework is right for every bot - be sure to make an informed choice before you get started!
To make use of Kord Extensions, update your build script to add
https://maven.kotlindiscord.com/repository/maven-public/ as a Maven repository, and use
com.kotlindiscord.kord.extensions:kord-extensions:VERSION as the Maven coordinate. You can check the badges at the top of this page for the latest stable and snapshot versions, or you can browse the Maven repository for a full list of versions.
If you need a more in-depth guide to setting up your project, feel free to take a look at our setup guide.