# `mix jido.messaging.demo`
[🔗](https://github.com/agentjido/jido_messaging/blob/v1.0.0/lib/mix/tasks/jido_messaging.demo.ex#L1)

Starts a demo messaging service.

## Usage

Echo mode (runtime only):

    mix jido.messaging.demo

Bridge mode (Telegram <-> Discord):

    mix jido.messaging.demo --bridge --telegram-chat 123456 --discord-channel 789012

Agent mode (Bridge + ChatAgent):

    mix jido.messaging.demo --agent --telegram-chat 123456 --discord-channel 789012

YAML topology mode:

    mix jido.messaging.demo --topology config/demo.topology.yaml

## Configuration

Create a `.env` file in the project root:

    TELEGRAM_BOT_TOKEN=your_telegram_token
    DISCORD_BOT_TOKEN=your_discord_token
    CEREBRAS_API_KEY=your_cerebras_key  # Required for agent mode

## Options

- `--bridge` - Enable bridge mode (requires Discord)
- `--agent` - Enable agent mode (bridge + ChatAgent, requires Cerebras API key)
- `--telegram-chat ID` - Telegram chat ID to bridge
- `--discord-channel ID` - Discord channel ID to bridge
- `--topology PATH` - YAML topology bootstrap file

## What it does

**Echo mode**: Starts only the messaging runtime (no platform ingress)

**Bridge mode**: Messages sent in Telegram appear in Discord and vice versa:
- Telegram message "hello" -> Discord shows "[TG @user] hello"
- Discord message "hey" -> Telegram shows "[DC user] hey"

**Agent mode**: Bridge + a ReAct ChatAgent that responds when mentioned:
- Mention @ChatAgent in either platform to chat with the AI
- Agent responses are bridged to both platforms

Press Ctrl+C twice to stop.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
