ExBot v0.1.1 ExBot.Event

This module defines the ExBot.Event type, representing a Slack event.

It also includes functions to add metadata to the ExBot.Event so that slugs may annotate it as it passes through a slug pipeline.

Link to this section Summary

Types

The Slack user id of the bot. E.x. UABCDEF

The original Slack event data

Metadata about the event, added by slugs

t()

Functions

Merges a Map of data into the ExBot.Event’s metadata

Adds a key to the ExBot.Event’s metadata

Link to this section Types

Link to this type bot_id()
bot_id() :: String.t()

The Slack user id of the bot. E.x. UABCDEF

Link to this type data()
data() :: %{}

The original Slack event data.

Link to this type metadata()
metadata() :: %{}

Metadata about the event, added by slugs.

Link to this type t()
t() :: %ExBot.Event{bot_id: bot_id(), data: data(), metadata: metadata()}

Link to this section Functions

Link to this function add_metadata(event, data)
add_metadata(ExBot.Event.t(), %{optional(any()) => any()}) :: ExBot.Event.t()

Merges a Map of data into the ExBot.Event’s metadata

Example

iex> evt = %ExBot.Event{bot_id: "UTESTBOT", data: %{}}
%ExBot.Event{bot_id: "UTESTBOT", data: %{}, metadata: %{}}
iex> ExBot.Event.add_metadata(evt, %{foo: "bar"})
%ExBot.Event{bot_id: "UTESTBOT", data: %{}, metadata: %{foo: "bar"}}
Link to this function add_metadata(event, key, value)
add_metadata(ExBot.Event.t(), any(), any()) :: ExBot.Event.t()

Adds a key to the ExBot.Event’s metadata

Example

iex> evt = %ExBot.Event{bot_id: "UTESTBOT", data: %{}}
%ExBot.Event{bot_id: "UTESTBOT", data: %{}, metadata: %{}}
iex> ExBot.Event.add_metadata(evt, :foo, "bar")
%ExBot.Event{bot_id: "UTESTBOT", data: %{}, metadata: %{foo: "bar"}}