README.md

Chatty
======

A basic IRC client that is most useful for writing a bot.


## Installation

Add Chatty as a dependency to your Mix project:

```elixir
def application do
  [applications: [:chatty]]
end

defp deps do
  [{:chatty, github: "alco/chatty"}]
end
```


## Usage

You need to set the following environment parameters for the `:chatty` app:

  * `:nickname` – the nick to use when connecting and identifying with NickServ
  * `:channels` – a list of channel names to join upon connect
  * `:password` (optional) – when set, Chatty will identify with NickServ using
    this password

Chatty's behaviour is customized by means of adding hooks that get invoked on
each incoming message. A ping hook is included as an example. Set it up as
follows:

```iex
iex> Chatty.add_hook :ping, &Chatty.Hooks.PingHook.run/2, in: :text, direct: true
:ok
```

Now, whenever Chatty sees the message `<nickname>: ping`, it will send a reply
from the set of predefined ones back to the sender:

```
02:05:35      @true_droid | beamie_test: ping
02:05:35      beamie_test | true_droid: pong
```


## License

This software is licensed under [the MIT license](LICENSE).