# `Chime.Message`
[🔗](https://github.com/hattoriai/chime/blob/v0.1.0-dev/lib/chime/message.ex#L1)

A notification on its way to a person by a channel, as
`c:Chime.Channel.deliver/2` gets it:

  * `:channel` - the channel's name (`"telegram"`);
  * `:notifier` - the notifier's module; `:kind` and `:category`;
  * `:data` - the notifier's data of the latest event (`c:Chime.Notifier.data/1`);
  * `:recipient` - the `Chime.Recipient`, as the resolver gives them now;
  * `:notification` - the `Chime.Notification`, with its count and
    actors;
  * `:required` - whether it goes whatever the preferences (the
    channel then leaves out any way to unsubscribe).

# `t`

```elixir
@type t() :: %Chime.Message{
  category: String.t(),
  channel: String.t(),
  data: map(),
  kind: String.t(),
  notification: Chime.Notification.t(),
  notifier: module(),
  recipient: Chime.Recipient.t(),
  required: boolean()
}
```

# `render`

```elixir
@spec render(t()) :: term()
```

What the notifier says by the message's channel: the function of the
notifier named after the channel, `(data, recipient, notification)`,
when it has one (`telegram/3` for `"telegram"`), else what the feed
shows (`c:Chime.Notifier.feed/2`).

---

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