Skip to main content
Start messaging bots with a single command. Supports Telegram, Discord, Slack, WhatsApp, Linear, Email, and AgentMail with full capability options.
praisonai bot is a wrapper-required command. It is only available when the full praisonai package is installed:
If you installed only praisonai-code, this command will not appear in --help and will fail at dispatch time. See Package Structure for the six-package install model.

Quick Start

One process per Telegram token. Telegram allows only one active getUpdates poller per bot token. If any of these are already running against the same token, start-up fails fast with RuntimeError: Another process is already polling this Telegram token:
  • praisonai bot telegram --token $TELEGRAM_BOT_TOKEN
  • praisonai gateway start with a telegram channel
  • Claw UI Channels worker with a telegram channel
  • An orphaned Python process from a previous crash
Stop the other instance first, or use a different token for each environment (dev / staging / prod). Webhook mode is unaffected — the single-instance rule applies to long polling (the default) only. See 409 Conflict troubleshooting.

Command Reference

Platforms


Capability Options

Enable agent capabilities via CLI flags:

Model & Agent

Browser

--browser prefers a local Playwright browser (no cloud API key) and falls back to the cloud BrowserBaseTool only when the local browser is unavailable.
Local automation needs the Playwright extra and a Chromium download:
This playwright install chromium step is required — no browsers are downloaded automatically by pip install in any tier.Without those, --browser falls back to the cloud BrowserBaseTool (which needs BrowserBase credentials), or — if neither is installed — becomes a no-op with a startup warning. See Bot Browser Automation for details.

Tools & Skills

Memory & Knowledge

Execution

WhatsApp-Specific

Email-Specific

Linear-Specific

AgentMail-Specific

Audio (TTS/STT)

Streaming (progressive replies)

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

With Custom Agent

agents.yaml:

With Full Capabilities

With Specific Tools

With Knowledge Base

With Auto-Approve (Trusted Environment)

Use --auto-approve only in trusted environments. This skips all confirmation prompts for tool executions.

With Live Streaming Replies

Streaming is currently wired up for Telegram. Other channels fall back to single-message mode until their adapters add streaming support.

With TTS/STT (Voice)

WhatsApp Cloud API

WhatsApp Web Mode

WhatsApp Web mode uses a reverse-engineered protocol. Your number may be banned by Meta. Use Cloud API mode for production.

Email Bot

AgentMail Bot


Environment Variables


Agent YAML Schema


Troubleshooting

409 Conflict — bot stops replying

Symptom. The bot starts, then messages stop being answered, or start-up exits with a non-zero code. Logs show:
Cause. A second poller (CLI bot telegram, a gateway telegram channel, Claw Channels, or an orphaned process) is using the same token. Telegram’s getUpdates API allows only one active consumer per bot token, so every extra poller receives HTTP 409 Conflict. The adapter fails fast on a confirmed 409 instead of silently looping. Fix.
Prevention.
  • Use one token per environment (dev / staging / prod).
  • Prefer webhook mode in production — multiple processes can share the same webhook target without conflict.
  • Don’t run praisonai bot telegram and Claw Channels against the same token at the same time.

Messaging Bots

Full messaging bots documentation

Audio Tools

TTS and STT tools

Browser CLI

Browser control commands

Bot Browser Automation

Give a bot a local Playwright browser with --browser

Bot Streaming Replies

Progressive live replies with --stream

Bot vs Gateway

Choose the right deployment model