wrenchVector SDK

The Vector Bot Library is a Rust-based library for creating and managing Vector Bots that can send and receive private messages using the Nostr protocol. This library provides a structured and modular approach to building bots with configurable metadata and client settings.

Features

Cover

robot

Vector Bots

with custom metadata.

Cover

envelope-open-text

Send/Receive Files

Private messages & files.

Cover

Custom Notifications

for Gift Wrap events.

Cover

onion

Proxy Settings

Configure for .onion relays.

Cover

network-wired

Relays

Add and manage.

Cover

cubes

Modular

Easy ext. & maintenance.

  • Create Vector Bots with customizable metadata

  • Send and receive private messages and files

  • Handle notifications for gift wrap events

  • Configure proxy settings for .onion relays

  • Add and manage relays

  • Modular architecture for easy extension and maintenance

  • Message Layer Security (MLS) for group messaging

  • Typing indicators for real-time feedback

  • Reaction support for messages

  • File uploads with progress tracking

  • Automatic failover for media servers


MLS Implementation Status

The Vector SDK includes Message Layer Security (MLS) support for group messaging. The following MLS features are currently implemented and ready for use:

Vector Icon - Checkmark

Implemented Features:

  • Group joining via welcome events

  • Group message sending and processing

  • Group typing indicators

  • Group file attachments

  • Group reactions

  • Persistent SQLite-backed storage for group state


Documentation

For comprehensive documentation, see:


Examples

For practical examples and working code demonstrations, see the Vector-SDK-Examplearrow-up-right repository, which contains:

  • Basic bot setup examples

  • Direct messaging implementations

  • Group messaging examples

  • File handling demonstrations

  • Advanced use cases

  • Complete working applications


Architecture

The library is organized into several modules, each responsible for a specific aspect of the bot's functionality:

  1. VectorBot: The main struct representing the bot, containing metadata and client configuration.

  2. Channel: A struct for managing communication with specific recipients.

  3. Client: Functions for building and configuring the Nostr client.

  4. Metadata: Functions for creating and managing bot metadata.

  5. Subscription: Functions for setting up event subscriptions.

  6. Crypto: Functions for encryption and decryption.

  7. Upload: Functions for handling file uploads.

High Level Architecture

For more detailed information about the architecture and advanced features, see ADVANCED.mdarrow-up-right.


License

This project is licensed under the MIT License. See the LICENSEarrow-up-right file for details.

Last updated