Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/alco/chatty

Basic IRC client for writing bots
https://github.com/alco/chatty

Last synced: about 2 months ago
JSON representation

Basic IRC client for writing bots

Lists

README

        

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 `: 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).