Slacks

An Elixir Slack client and bot.

Quick Start

defmodule QuoteBot do
  use Slack.Bot, token: "xoxb-..."

  @impl Slack.Bot
  def init(state), do: {:ok, state}

  @impl Slack.Bot
  def handle_event(event = %{type: "message"}, bot, _state) do
    text = Map.get(event, :text) || get_in(event, [:message, :text])

    Slack.post_message(
      bot.token,
      event.channel,
      text |> Enum.split("\n") |> Enum.map(&("> " <> &1)) |> Enum.join("\n"),
      thread: event.ts
    )

    :ok
  end

  def handle_event(_, _, _), do: :ok
end

Installation

The package can be installed by adding slacks to your list of dependencies in mix.exs:

def deps do
  [
    {:slacks, "~> 0.0.1"}
  ]
end

The docs can be found at https://hexdocs.pm/slacks.

Changelog

0.0.1 (2019-04-30)

New features:

License

Slacks source code is released under the MIT License. Check LICENSE file for more information.