botkit 0.1.0

Unified Rust bot framework with optional Discord, Telegram, and Matrix adapters
Documentation

botkit

botkit is a Rust library for building chat bots with one handler model across multiple platforms.

The botkit crate is the facade entrypoint for the workspace. It re-exports botkit-core by default and exposes platform adapters behind explicit feature flags.

Installation

Use the facade crate when you want one dependency with opt-in platforms:

[dependencies]
botkit = { version = "0.1.0", features = ["telegram"] }

Available facade features:

  • discord enables botkit::discord and the DiscordBot re-exports.
  • telegram enables botkit::telegram and the TelegramBot re-exports.
  • matrix enables botkit::matrix and the MatrixBot re-exports.
  • full enables all platform adapters.

You can also depend on the smaller crates directly:

  • botkit-core provides the shared bot abstractions, extractors, handlers, and response types.
  • botkit-discord provides the Discord integration.
  • botkit-telegram provides the Telegram integration.
  • botkit-matrix provides the Matrix integration.

Design goals

  • Reuse the same handler style across platforms.
  • Keep the core abstractions transport-agnostic.
  • Support async-first bot execution.
  • Keep platform adapters opt-in instead of forcing heavy dependencies by default.
  • Expose platform crates separately instead of hiding everything behind type erasure.

Crates

botkit

Facade crate that re-exports the core API and feature-gated platform integrations.

botkit-core

Shared building blocks:

  • Bot and BotBuilder
  • extractor-based handlers such as User, CommandArgs, and MessageContent
  • unified Response and file response types

botkit-discord

Discord support built around gateway events and command/button handlers.

botkit-telegram

Telegram support for webhook-style handling and bot client operations.

botkit-matrix

Matrix support built on top of matrix-sdk, including encrypted room support.

Status

This project is a library workspace under active development. The API surface is still evolving.