Start messaging bots with a single command. Supports Telegram, Discord, Slack, and WhatsApp 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
Command Reference
praisonai bot <platform> [OPTIONS]
| Platform | Required Tokens |
|---|
telegram | --token |
discord | --token |
slack | --token + --app-token |
whatsapp | --token + --phone-id (Cloud API) or --mode web (no tokens) |
Capability Options
Enable agent capabilities via CLI flags:
Model & Agent
| Option | Description |
|---|
--agent FILE | Agent YAML configuration file |
--model, -m MODEL | LLM model (e.g., gpt-4o, claude-sonnet-4-20250514, gemini/gemini-2.0-flash) |
--thinking MODE | Thinking mode: off, minimal, low, medium, high |
Browser
| Option | Description |
|---|
--browser | Enable browser control tool |
--browser-profile NAME | Browser profile name (default: default) |
--browser-headless | Run browser in headless mode |
Web Search
| Option | Description |
|---|
--web | Enable web search with provider-specific tools |
--web-provider PROVIDER | Search provider: duckduckgo, tavily, serper |
| Option | Description |
|---|
--tools TOOL... | Enable additional tools by name (e.g., DuckDuckGoTool WikipediaTool) |
--skills SKILL... | Enable specific skills |
--skills-dir DIR | Custom skills directory path |
Memory & Knowledge
| Option | Description |
|---|
--memory | Enable persistent memory |
--memory-provider PROVIDER | Memory provider (default: default) |
--knowledge | Enable knowledge/RAG |
--knowledge-sources SOURCE... | Knowledge sources to load |
--session-id ID | Session ID for conversation continuity |
--user-id ID | User ID for memory isolation |
Execution
| Option | Description |
|---|
--sandbox | Enable sandbox execution mode |
--exec | Enable exec tool explicitly |
--auto-approve | Auto-approve all tool executions (skip confirmation prompts) |
WhatsApp-Specific
| Option | Description |
|---|
--mode MODE | Connection mode: cloud (default) or web (QR code, no tokens) |
--phone-id ID | WhatsApp Phone Number ID (Cloud API) |
--verify-token TOKEN | Webhook verify token (Cloud API) |
--respond-to NUMBERS | Allowlist phone numbers (Web mode, comma-separated) |
--respond-to-groups GROUPS | Allowlist group JIDs (Web mode, comma-separated) |
--respond-to-all | Respond to all messages (Web mode, default: self-chat only) |
--creds-dir DIR | Custom credentials directory (Web mode, default: ~/.praisonai/whatsapp/) |
Audio (TTS/STT)
| Option | Description |
|---|
--tts | Enable TTS tool for text-to-speech |
--tts-voice VOICE | TTS voice: alloy, echo, fable, onyx, nova, shimmer |
--tts-model MODEL | TTS model (default: openai/tts-1) |
--auto-tts | Auto-convert all responses to speech |
--stt | Enable STT tool for speech-to-text |
--stt-model MODEL | STT 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.
Environment Variables
| Variable | Description |
|---|
TELEGRAM_BOT_TOKEN | Telegram bot token from @BotFather |
DISCORD_BOT_TOKEN | Discord bot token |
SLACK_BOT_TOKEN | Slack Bot User OAuth Token (xoxb-...) |
SLACK_APP_TOKEN | Slack App-Level Token (xapp-...) |
WHATSAPP_ACCESS_TOKEN | WhatsApp Cloud API access token |
WHATSAPP_PHONE_NUMBER_ID | WhatsApp Business phone number ID |
WHATSAPP_VERIFY_TOKEN | Webhook verification token (any secret string) |
WHATSAPP_CREDS_DIR | Custom credentials directory for Web mode |
OPENAI_API_KEY | OpenAI 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/