Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Core Features

Technical overview of BotServer capabilities. For the complete feature matrix, see Feature Reference.

Multi-Channel Communication

ChannelProtocolKeywords
Web ChatWebSocketTALK, HEAR
WhatsAppCloud APISEND, SEND TEMPLATE
EmailSMTP/IMAPSEND MAIL
TeamsGraph APISEND
VoiceWebRTCPLAY, RECORD

All channels share the same conversation logic through a unified abstraction.

Authentication & Sessions

  • Password Hashing: Argon2 with secure defaults
  • Session Tokens: Cryptographically secure generation
  • Session Persistence: Survives restarts (database-backed)
  • User Isolation: Each user has isolated session state

BASIC Scripting

Built on the Rhai engine with custom keywords:

TALK "Hello!"                    ' Output
HEAR name AS NAME                ' Input with validation
result = LLM "Summarize: " + text  ' AI integration
USE KB "docs"                    ' Knowledge base

Scripts stored as .gbdialog files in bot packages.

LLM Integration

ProviderModelsFeatures
OpenAIGPT-5, o3Streaming, function calling
AnthropicClaude Sonnet 4.5, Opus 4.5Analysis, coding, guidelines
LocalGGUF modelsGPU acceleration, offline

Features: prompt templates, context injection, token management, cost optimization.

Knowledge Base

  • Vector Database: Qdrant for semantic search
  • Document Processing: PDF, DOCX, HTML, TXT extraction
  • Auto-Indexing: Documents indexed on upload
  • Context Retrieval: Automatic injection into LLM prompts

Storage

Object Storage (S3-Compatible)

  • Bucket management
  • Secure credential-based access
  • Template and asset storage

File Monitoring

  • Real-time change detection
  • Automatic processing triggers
  • Event-driven workflows

Database

PostgreSQL with Diesel ORM:

  • Connection pooling (R2D2)
  • Automatic migrations
  • ACID transactions

Key tables: users, bots, sessions, messages, conversations

Automation

SET SCHEDULE "0 9 * * *"  ' Daily at 9 AM
SEND MAIL "team@company.com", "Daily Report", report
  • Cron scheduling
  • Event triggers
  • Background jobs

Security

FeatureImplementation
Password StorageArgon2
Data at RestAES-GCM
SessionsCryptographic tokens
API AccessToken-based auth
TransportTLS via proxy

Optional Components

ComponentPortPurpose
Email Server25/993SMTP/IMAP
Video Server7880LiveKit meetings
Vector DB6333Qdrant search
Time-Series8086InfluxDB metrics

Extensibility

  • Custom Keywords: Add BASIC keywords in Rust
  • Tool Integration: Call external APIs from scripts
  • Custom Channels: Implement new communication channels
  • LLM Providers: Add new AI providers

See Also