bot.yaml; the gateway loads it and connects the agent to every configured channel.
How It Works
Config Structure
Quick Start
1
Install
2
Set credentials
3
Create bot.yaml
4
Start the gateway with your YAML
Config Options Reference
agent section
gateway section
platforms section
Each key under platforms is a platform name. Use ${VAR_NAME} for environment variable interpolation.
Supported platforms:
telegram, discord, slack, whatsapp, and any platform registered via entry points.
Single-platform shorthand
For one platform, declare a top-levelplatform: (and optionally token:) instead of a platforms: map:
token: is optional — omit it and the declared platform: resolves the platform’s own documented env var (TELEGRAM_BOT_TOKEN, DISCORD_BOT_TOKEN, etc.):
bot start refuses to auto-enable them and logs a warning:
Bot startup exit codes:
praisonai bot start now exits 1 on any startup failure (bad config path, missing token, unknown platform). This makes systemd Restart=on-failure and if praisonai bot start ... ; then scripting work as expected.Shell execution keys
Add these per-channel keys to let a bot run shell commands with approval routing.Bot Shell Execution
Full routing ladder, per-platform ID resolution, and recipes.
Environment Variable Interpolation
Values in the form${VAR_NAME} are resolved from the current environment at startup:
~/.praisonai/.env (written by praisonai-bot onboard) are loaded automatically before interpolation.
When to Pick YAML vs Python
Common Patterns
Multi-platform setup
Custom port from environment
GATEWAY_PORT environment variable — the CLI reads it automatically when --port is not passed.
Best Practices
Always use ${...} for tokens
Always use ${...} for tokens
Never hardcode tokens in YAML. Use environment variables and store them in
~/.praisonai/.env (written by praisonai-bot onboard) or your secrets manager.Run praisonai-bot gateway doctor before going live
Run praisonai-bot gateway doctor before going live
token, app_token, and verify_token — including the secret-reference form — without revealing any value.Use separate YAML files per environment
Use separate YAML files per environment
Keep
dev.yaml, staging.yaml, and prod.yaml — each referencing different environment variables. Pass the right one with --config.Related
Standalone Bot Gateway (Python)
Python API equivalent — register agents programmatically
Gateway CLI
Full list of gateway CLI commands
BotOS
Multi-platform bot orchestration
praisonai-bot SDK
Full bot-tier SDK reference

