A basic IRC client that is most useful for writing a bot.
Add Chatty as a dependency to your Mix project:
def application do
[applications: [:chatty]]
end
defp deps do
[{:chatty, github: "alco/chatty"}]
end
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
This software is licensed under the MIT license.