# `Jido.Messaging.Demo.Bridge`
[🔗](https://github.com/agentjido/jido_messaging/blob/v1.0.0/lib/jido_messaging/demo/bridge.ex#L1)

Bridges messages between Telegram and Discord via Signal Bus subscription.

Subscribes to `jido.messaging.room.message_added` signals and forwards
to external platforms, skipping the origin platform to prevent loops.

## Architecture

Instead of being called directly by channel handlers, the Bridge now:
1. Subscribes to the Signal Bus for `message_added` events
2. Receives signals when any message is added to any room
3. Forwards to all bound platforms except the origin

This decouples the Bridge from channel handlers and makes it event-driven.

# `binding`

```elixir
@type binding() :: {:telegram | :discord, module(), String.t(), String.t()}
```

# `t`

```elixir
@type t() :: %Jido.Messaging.Demo.Bridge{
  bindings: [any()],
  instance_module: module(),
  room_id: nil | nil | binary(),
  subscribed: boolean()
}
```

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `start_link`

---

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