README.md

# Slacks

An Elixir Slack client and bot.

## Quick Start

```elixir
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`:

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

The docs can be found at [https://hexdocs.pm/slacks](https://hexdocs.pm/slacks).


## Changelog

### 0.0.1 (2019-04-30)

New features:

* Simple/naive Slack bot.
* `Slack.post_message/4` for posting messages.
* `Slack.upload_file/4` for uploading files.

## License

_Slacks_ source code is released under [the MIT License](LICENSE).
Check [LICENSE](LICENSE) file for more information.