Skip to content

buapebot/carbon

 
 

Repository files navigation

Carbon

Carbon Wordmark Discord NPM Version NPM Downloads

Carbon is a fully typed Discord bot framework for TypeScript that helps you ship quickly with HTTP interactions first, then scale into richer features through plugins, reusable classes, and optional Gateway support without rewriting your architecture later.

Features

  • Build every common interaction type in one place: slash commands, user/message commands, buttons, select menus, and modals.
  • Start with simple HTTP interactions, then add Gateway or Gateway Forwarder only when your bot needs non-interaction events.
  • Run the same bot across Node.js, Bun, and Fetch-style runtimes like Cloudflare Workers or Next.js.
  • Components can register themselves automatically, and you can still register them globally or per command when you need persistence.
  • For quick flows, you can parse custom IDs cleanly and wait for a single component click with replyAndWaitForComponent.
  • Use prechecks and wildcard handlers to add safety rules and fallback behavior without turning command code into a mess.
  • Host multiple Discord applications from one deployment with ClientManager.
  • Grow through plugins like Linked Roles, Command Data, Paginator, Sharding, and Voice.
  • Tune request/event processing with queue lanes, concurrency controls, and runtime metrics when traffic grows.

Installation

To get started with Carbon, you can check out the Getting Started guides for your preferred platform.

Useful Links

Contributing

We welcome contributions to Carbon! If you're interested in contributing, please check out the Contributing Guide for more information, and join our Discord to get involved!

About

A fully-featured HTTP library for Discord bots

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 57.4%
  • MDX 39.6%
  • Handlebars 1.8%
  • Other 1.2%