Quick Start
How It Works
| Target | Resolves to |
|---|---|
origin | Chat that triggered the request (origin=SessionSource(...)) |
<platform> | Platform home channel from /sethome or config |
<platform>:<id> | Explicit channel ID |
<alias> | Friendly name from configure_channels or overlay file |
origin → platform:id → bare platform → alias. Platform names win over aliases.
Home and observed channels persist to ~/.praisonai/state/channel_directory.json.
Configuration Options
YAML
Alias overlay
Pre-name channels in~/.praisonai/state/channel_aliases.json:
botos.delivery_router.refresh_directory() periodically so adapters enumerate channels the bot has not yet heard from.
Rate Limiting
Scheduled and background sends share the reply-path rate limiter automatically — no config change required. Scheduled sends also fire at most once per due window across multipleBotOS processes — see BotOS → Multi-Process / HA Deployments.
| You call | What happens |
|---|---|
botos.deliver("ops-alerts", "...") | Rate-limited per platform via the shared reply-path rate limiter. |
botos.deliver("ops-alerts", "...", origin=source) | Rate-limited with origin context; used for targeted proactive replies. |
Adapter’s send_message() returns False | Treated as a transient failure. Dead-target flag not tripped. Safe to retry. |
Best Practices
Prefer aliases over raw IDs
Prefer aliases over raw IDs
Aliases survive renumbering and read better in logs.
Set home_channel for each platform
Set home_channel for each platform
Bare-platform targets fail without a configured home channel.
Do not name aliases after platforms
Do not name aliases after platforms
telegram as an alias will never resolve — platform lookup wins.Handle the bool return
Handle the bool return
deliver() returns False on resolution or send failure — log and retry as needed.Use durable delivery for cross-worker dedup
Use durable delivery for cross-worker dedup
BotOS.deliver rate-limits sends via the shared reply-path rate limiter, but does not support idempotency deduplication. For dedup across retries or workers, use the reply-path delivery.send(...) outbox (see Durable Delivery).Related
BotOS
Multi-platform orchestration
Bot Gateway
Run multiple bots from one server

