# `Stampede.Channels.Message`
[🔗](https://github.com/mandar1045/stampede/blob/v1.4.0/lib/stampede/channels/message.ex#L1)

A message of the Phoenix Channels protocol, as a
`Stampede.Channels.Serializer` encodes and decodes it.

The `payload` is decoded JSON, or `{:binary, data}` for a binary payload.
Replies have the `"phx_reply"` event, and a payload with the `"status"` and
the `"response"`.

# `t`

```elixir
@type t() :: %Stampede.Channels.Message{
  event: String.t(),
  join_ref: String.t() | nil,
  payload: term(),
  ref: String.t() | nil,
  topic: String.t()
}
```

---

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