Framework Comparison
This table acts as a framework comparison matrix, allowing you to make an informed decision about which Discord bot framework to use for your project. We've tried to be as objective as possible, but it is challenging to keep a table like this up to date. If you notice any errors or have any suggestions, please feel free to contact us.
The comparison matrix used to include abandoned projects, but we've decided to remove them going forward. If you'd still like to check out these projects, you can find links to them at the bottom of the page.
General information
Design and Status
| DiscordKt | Kord Extensions |
---|---|---|
Methodology | An easy, pleasurable API without the boilerplate | User-friendly and feature-packed, with its own ecosystem |
Release Policy | Follows Kord releases | Semi-independent release schedule following Kord snapshots |
Status | ✅ Active | ✅ Active |
API Version | ✅ v10 | ✅ v10 |
Gateway Coupling | Kord gateway only, no REST-only support | Kord gateway only (with replaceable Kord instance), no REST-only support |
Logical Structure | No prescribed structure, handlers are created using DSL functions | Functionality split into extension classes, optional plugins |
Commands
| DiscordKt | Kord Extensions |
---|---|---|
Application Commands | ✅ | ✅ |
Chat Commands | ✅ | ✅ |
Dynamic Chat Command Prefix | ✅ | ✅ |
Other Features
| DiscordKt | Kord Extensions |
---|---|---|
Autocomplete | ✅ | ✅ |
Bot Docs Generator | ✅ Markdown tables for commands | 🟡 Third-party Markdown command doc generator, first-party planned later |
Components API | ✅ | ✅ |
Contextual Predicates | 🟡 Global with manual filtering | ✅ |
Conversations API | ✅ | ❌ Out of scope |
Data Storage API | ✅ | ✅ |
Dependency Injection | ✅ Integrated | ✅ Koin-based |
Modals API | ✅ | ✅ |
Paginator API | ✅ | ✅ |
Plugin System | ❌ | 🟡 Currently in development |
Rich Command Arguments | ✅ (Customizable) | ✅ (Customizable) |
Translations | ✅ Single bot locale | ✅ Dynamic locales |
Multiple Bots in One Process | ❌ | ❌ Currently impossible to implement |