Start messaging bots with a single command. Supports Telegram, Discord, Slack, WhatsApp, Email, and AgentMail with full capability options.
Quick Start
# Telegram
praisonai bot telegram --token $TELEGRAM_BOT_TOKEN
# Discord
praisonai bot discord --token $DISCORD_BOT_TOKEN
# Slack (requires both tokens)
praisonai bot slack --token $SLACK_BOT_TOKEN --app-token $SLACK_APP_TOKEN
# WhatsApp Cloud API
praisonai bot whatsapp --token $WHATSAPP_ACCESS_TOKEN --phone-id $WHATSAPP_PHONE_NUMBER_ID
# WhatsApp Web Mode (no tokens needed — scan QR code)
praisonai bot whatsapp --mode web
# Email (IMAP/SMTP)
praisonai bot email --token $EMAIL_APP_PASSWORD --email user@gmail.com
# AgentMail (API-first, zero IMAP/SMTP config)
praisonai bot agentmail --token $AGENTMAIL_API_KEY
Command Reference
praisonai bot < platfor m > [OPTIONS]
Platform Required Tokens telegram--tokendiscord--tokenslack--token + --app-tokenwhatsapp--token + --phone-id (Cloud API) or --mode web (no tokens)email--token (App Password) + --emailagentmail--token (API key)
Capability Options
Enable agent capabilities via CLI flags:
Model & Agent
Option Description --agent FILEAgent YAML configuration file --model, -m MODELLLM model (e.g., gpt-4o, claude-sonnet-4-20250514, gemini/gemini-2.0-flash) --thinking MODEThinking mode: off, minimal, low, medium, high
Browser
Option Description --browserEnable browser control tool --browser-profile NAMEBrowser profile name (default: default) --browser-headlessRun browser in headless mode
Web Search
Option Description --webEnable web search with provider-specific tools --web-provider PROVIDERSearch provider: duckduckgo, tavily, serper
Option Description --tools TOOL...Enable additional tools by name (e.g., DuckDuckGoTool WikipediaTool) --skills SKILL...Enable specific skills --skills-dir DIRCustom skills directory path
Memory & Knowledge
Option Description --memoryEnable persistent memory --memory-provider PROVIDERMemory provider (default: default) --knowledgeEnable knowledge/RAG --knowledge-sources SOURCE...Knowledge sources to load --session-id IDSession ID for conversation continuity --user-id IDUser ID for memory isolation
Execution
Option Description --sandboxEnable sandbox execution mode --execEnable exec tool explicitly --auto-approveAuto-approve all tool executions (skip confirmation prompts)
WhatsApp-Specific
Option Description --mode MODEConnection mode: cloud (default) or web (QR code, no tokens) --phone-id IDWhatsApp Phone Number ID (Cloud API) --verify-token TOKENWebhook verify token (Cloud API) --respond-to NUMBERSAllowlist phone numbers (Web mode, comma-separated) --respond-to-groups GROUPSAllowlist group JIDs (Web mode, comma-separated) --respond-to-allRespond to all messages (Web mode, default: self-chat only) --creds-dir DIRCustom credentials directory (Web mode, default: ~/.praisonai/whatsapp/)
Email-Specific
Option Description --email ADDRESSBot email address (or EMAIL_ADDRESS env var) --imap-server HOSTIMAP server (default: auto-detected from email domain) --smtp-server HOSTSMTP server (default: auto-detected from email domain)
AgentMail-Specific
Option Description --mode MODEReception mode: poll (default), ws, webhook, hybrid --inbox INBOX_IDExisting inbox to connect to (or AGENTMAIL_INBOX_ID) --domain DOMAINCustom domain for new inboxes (or AGENTMAIL_DOMAIN)
Audio (TTS/STT)
Option Description --ttsEnable TTS tool for text-to-speech --tts-voice VOICETTS voice: alloy, echo, fable, onyx, nova, shimmer --tts-model MODELTTS model (default: openai/tts-1) --auto-ttsAuto-convert all responses to speech --sttEnable STT tool for speech-to-text --stt-model MODELSTT model (default: openai/whisper-1)
Default Tools (Always Enabled) :
execute_command - Run shell commands
search_web - Web search with auto-fallback providers
The --exec and --web flags add additional provider-specific tools on top of defaults.
Examples
Basic Bot
praisonai bot telegram --token $TELEGRAM_BOT_TOKEN
With Custom Agent
praisonai bot slack --token $SLACK_BOT_TOKEN --app-token $SLACK_APP_TOKEN --agent agents.yaml
agents.yaml:
name : support-bot
instructions : |
You are a customer support assistant.
Be helpful and concise.
llm : gpt-4o-mini
tools :
- search_web
With Full Capabilities
praisonai bot telegram --token $TOKEN \
--agent agents.yaml \
--browser \
--web \
--memory \
--model gpt-4o
praisonai bot discord --token $TOKEN \
--tools DuckDuckGoTool WikipediaTool GitHubTool
With Knowledge Base
praisonai bot slack --token $SLACK_BOT_TOKEN --app-token $SLACK_APP_TOKEN \
--knowledge \
--memory
With Auto-Approve (Trusted Environment)
# Auto-approve all tool executions - useful for trusted environments
praisonai bot slack --token $SLACK_BOT_TOKEN --app-token $SLACK_APP_TOKEN \
--auto-approve \
--exec \
--web
Use --auto-approve only in trusted environments. This skips all confirmation prompts for tool executions.
With TTS/STT (Voice)
# Enable TTS tool - agent can convert text to speech
praisonai bot telegram --token $TOKEN --tts
# Auto-convert all responses to speech
praisonai bot telegram --token $TOKEN --auto-tts --tts-voice nova
# Full voice capabilities
praisonai bot telegram --token $TOKEN --tts --stt --memory
WhatsApp Cloud API
# Cloud API mode (requires Meta developer account)
praisonai bot whatsapp --token $WHATSAPP_ACCESS_TOKEN --phone-id $WHATSAPP_PHONE_NUMBER_ID
WhatsApp Web Mode
# Web mode — scan QR code, no tokens needed
praisonai bot whatsapp --mode web
# With specific allowed contacts
praisonai bot whatsapp --mode web --respond-to 1234567890,9876543210
# With memory and web search
praisonai bot whatsapp --mode web --memory --web
WhatsApp Web mode uses a reverse-engineered protocol. Your number may be banned by Meta. Use Cloud API mode for production.
Email Bot
# IMAP/SMTP email bot
praisonai bot email --token $EMAIL_APP_PASSWORD --email bot@gmail.com
# With memory and web search
praisonai bot email --token $EMAIL_APP_PASSWORD --email bot@gmail.com --memory --web
AgentMail Bot
# API-first email (auto-creates inbox)
praisonai bot agentmail --token $AGENTMAIL_API_KEY
# With specific inbox
praisonai bot agentmail --token $AGENTMAIL_API_KEY --inbox you@agentmail.to
# With custom domain
praisonai bot agentmail --token $AGENTMAIL_API_KEY --domain mycompany.com
# WebSocket mode (sub-second latency)
praisonai bot agentmail --token $AGENTMAIL_API_KEY --mode ws
# Hybrid mode (recommended for production)
praisonai bot agentmail --token $AGENTMAIL_API_KEY --mode hybrid
Environment Variables
Variable Description TELEGRAM_BOT_TOKENTelegram bot token from @BotFather DISCORD_BOT_TOKENDiscord bot token SLACK_BOT_TOKENSlack Bot User OAuth Token (xoxb-...) SLACK_APP_TOKENSlack App-Level Token (xapp-...) WHATSAPP_ACCESS_TOKENWhatsApp Cloud API access token WHATSAPP_PHONE_NUMBER_IDWhatsApp Business phone number ID WHATSAPP_VERIFY_TOKENWebhook verification token (any secret string) WHATSAPP_CREDS_DIRCustom credentials directory for Web mode EMAIL_ADDRESSEmail bot address EMAIL_APP_PASSWORDEmail App Password EMAIL_IMAP_SERVERIMAP server (auto-detected by default) EMAIL_SMTP_SERVERSMTP server (auto-detected by default) AGENTMAIL_API_KEYAgentMail API key AGENTMAIL_INBOX_IDAgentMail inbox to connect to AGENTMAIL_DOMAINCustom domain for new AgentMail inboxes OPENAI_API_KEYOpenAI API key for LLM
Agent YAML Schema
name : my-bot
instructions : |
You are a helpful assistant.
Be concise and friendly.
llm : gpt-4o-mini
tools :
- search_web
- DuckDuckGoTool
memory : true
knowledge :
- ./docs/
Messaging Bots Full messaging bots documentation
Audio Tools TTS and STT tools
Browser CLI Browser control commands
Bot vs Gateway Choose the right deployment model