> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# bots • Rust AI Agent SDK

> Bots Module for PraisonAI Rust SDK

# bots

<Badge color="orange">Rust AI Agent SDK</Badge>

Bots Module for PraisonAI Rust SDK

Defines protocols and types for messaging bot implementations.
Enables agents to communicate through messaging platforms like
Telegram, Discord, Slack, etc.

# Example

```rust,ignore theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
use praisonai::bots::{BotMessage, BotUser, BotChannel, MessageType};

let user = BotUser::new("user-123")
.username("john_doe")
.display_name("John Doe");

let message = BotMessage::text("Hello!", user.clone(), "channel-1");
```

## Import

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
use praisonai::bots::*;
```

## Classes

<CardGroup cols={2}>
  <Card title="BotUser" icon="brackets-curly" href="../classes/BotUser">
    Represents a user in a messaging platform.
  </Card>

  <Card title="BotChannel" icon="brackets-curly" href="../classes/BotChannel">
    Represents a channel/chat in a messaging platform.
  </Card>

  <Card title="BotMessage" icon="brackets-curly" href="../classes/BotMessage">
    Represents a message in a messaging platform.
  </Card>

  <Card title="BotConfig" icon="brackets-curly" href="../classes/BotConfig">
    Configuration for a bot.
  </Card>

  <Card title="BotProtocol" icon="brackets-curly" href="../classes/BotProtocol">
    Protocol for messaging bot implementations. Bots connect agents to messaging platforms, handling: - Message receiving and sending - Command handling...
  </Card>

  <Card title="MessageType" icon="brackets-curly" href="../classes/MessageType">
    Types of bot messages.
  </Card>
</CardGroup>

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="Rust Bots" icon="robot" href="/docs/rust/bots" />

  <Card title="Rust AGUI" icon="display" href="/docs/rust/agui" />
</CardGroup>
