Basic IRC client for writing bots
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
config
lib
.gitignore
LICENSE
README.md
mix.exs
mix.lock

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:

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> 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.