praisonai-bot is a new sibling PyPI package holding the bots, gateway, and channel CLI — extracted from the praisonai wrapper — and every existing import still works via alias_package shims.
praisonai-bot gateway start routes each Telegram/Slack/Discord message to this agent and posts the reply back.
Quick Start
1
Nothing changes if you install the wrapper
pip install praisonai pulls in praisonai-bot transitively. Every existing command still works:2
Standalone install for headless workers or containers
Install only what your container needs:
3
Agent-centric example — route messages from any channel
How It Works
The gateway is the only process that holds channel credentials. Agents never talk directly to Telegram, Slack, or Discord — they receive plain text and return plain text. The gateway handles platform-specific formatting, rate-limiting, and delivery guarantees.Which install shape is right for me?
Compatibility Guarantees
Every existing import path continues to resolve. No code changes required.pip install praisonairemains the canonical user-facing install.praisonai.bots.*,praisonai.gateway.*,praisonai.daemon.*are stable API — they arealias_packageshims backed bypraisonai_bot.*.praisonai-bothas no hard PyPI dependency onpraisonai— no import cycle.- Any access that
praisonai-botneeds into the wrapper goes through_wrapper_bridgeat call time, degrading gracefully when the wrapper is absent.
New CLI: praisonai-bot
The praisonai-bot binary is separate from the praisonai binary. It exposes:
Both hyphenated and underscored forms resolve at the root —
praisonai-bot mint-link and praisonai-bot mint_link are equivalent. As of PR #2847, the top-level dispatcher normalizes between the two forms. --help and shell tab-completion display the hyphenated form (mint-link) to match Click’s convention. Use the hyphenated form in new scripts; existing scripts that call the underscore form keep working unchanged.The existing
praisonai serve gateway and praisonai bot serve wrapper commands still work and are the recommended entry point for users who installed via pip install praisonai.Contributor rule:
praisonai_bot production code no longer hard-imports praisonai_code.* — it goes through the lazy praisonai_bot._code_bridge.import_code_module() boundary. The CI gate scripts/check_bot_code_imports.sh enforces this.Extending: Register a New Channel
praisonai-bot discovers channel adapters via the praisonai.channels entry-point group at startup. No changes to praisonai-bot itself are needed.
To publish a third-party channel adapter, add an entry-point in your package’s pyproject.toml:
entry_points(group="praisonai.channels") on startup and registers every discovered adapter automatically.
Built-in Channels
Best Practices
Keep using praisonai.bots / praisonai.gateway in library code
Keep using praisonai.bots / praisonai.gateway in library code
Application and library code should continue to import from
praisonai.bots, praisonai.gateway, and praisonai.daemon. These paths are the stable public API backed by alias_package shims. praisonai_bot.* is an alternative available path, not a replacement — the shim layer allows the physical package layout to evolve without breaking callers.Use praisonai-bot extras for headless workers
Use praisonai-bot extras for headless workers
For containers or workers that don’t need the full
praisonai wrapper, install only the extras you need:pip install praisonai-bot[gateway]— WebSocket gateway only (~200 MB fewer transitive deps than the full wrapper).pip install praisonai-bot[bot]— messaging platform adapters only.pip install praisonai-bot[gateway,bot]— full inbound-and-outbound flow.pip install praisonai-bot[all]— shortcut for[gateway,bot].
Extras are additive — install only what you need
Extras are additive — install only what you need
[gateway] pulls in FastAPI, uvicorn, SSE-starlette, websockets, watchdog, and redis. [bot] pulls in python-telegram-bot, discord.py, slack_sdk, slack-bolt, and psutil. Installing both is safe and additive. [bot-whatsapp-web] adds neonize and qrcode for WhatsApp Web support.Alias shims are load-bearing — do not remove them as cleanup
Alias shims are load-bearing — do not remove them as cleanup
praisonai.bots, praisonai.gateway, and praisonai.daemon are alias_package shims in the wrapper. Removing or rewriting imports away from these paths in your own code is not a “cleanup” — they are the stable API. praisonai_bot.* is a new alternative surface for users who want the standalone install shape.Related
praisonai-code Migration
The C0–C6 sibling extraction that moved the agentic terminal CLI into its own package
Python Wrapper
The praisonai wrapper — four-tier architecture reference for contributors
Gateway
Gateway and control plane — WebSocket server, config, and deployment
Messaging Bots
Bot platform documentation — Telegram, Discord, Slack, WhatsApp, and more

