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:
- 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. Check LICENSE file for more information.