# DasBot
DasBot is like [Plug](https://github.com/elixir-plug/plug), but for Slack.
Online documentation is available [here](https://hexdocs.pm/das_bot).
## Example
```elixir
defmodule MyBot do
use DasBot.Bot
slug(DasBot.Slug.Common.MessagesOnly)
slug(DasBot.Slug.Common.CheckMentioned)
slug(:simple_reply)
def simple_reply(%DasBot.Event{data: %{user: user_id}, metadata: %{mentioned: true}} = event) do
DasBot.Bot.send_to_channel(__MODULE__, "general", "Oh hey, <@\#{user_id}>!")
event
end
def simple_reply(event), do: event
end
```
## Installation
Add DasBot to your project's dependencies.
```elixir
def deps do
[
{:das_bot, "~> 0.1.0"}
]
end
```
Start your bot as a worker in your OTP application, passing your slack bot API token as an argument.
```elixir
defmodule MyBot.Application do
@moduledoc false
use Application
def start(_type, _args) do
children = [{MyBot, token: "xoxb-my-bot-token"}]
opts = [strategy: :one_for_one, name: MyBot.Supervisor]
Supervisor.start_link(children, opts)
end
end
```