Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Commits on Mar 13, 2012
  1. Added support for rebar

    authored
Commits on May 5, 2011
  1. Mazen Harake
Commits on May 3, 2011
  1. Mazen Harake

    Fixed the example

    mazenharake authored
Commits on May 2, 2011
  1. Mazen Harake
Commits on May 1, 2011
  1. Mazen Harake
  2. Mazen Harake

    Remove old code

    mazenharake authored
  3. Mazen Harake
  4. Mazen Harake

    Redesign how bots are used

    mazenharake authored
    A bot now belongs to a client process. When a client is started it has
    the option to start bots as well. These bots will be supervised and will
    spawn one process per bot. Additional bots can be installed using an
    API in the eirc module.
Commits on Apr 21, 2011
  1. Mazen Harake
Commits on Apr 18, 2011
  1. Mazen Harake
Commits on Apr 17, 2011
  1. Mazen Harake
  2. Mazen Harake
  3. Mazen Harake

    Restructure code to make more generic and handle more callbacks

    mazenharake authored
    Changed the way the callbacks are called to make it a bit more generic,
    this will allow two things:
    
    1) If a certain state needs to do something specific before it calls the
    callback or if it should handle a custom return value it can now do that
    
    2) Create custom "events" which are not necessarily connected to IRC
    events
    
    As a result of the second bullet there are now 3 more events added to
    the list of callbacks: on_connect/3, on_logon/5 and on_logon/1
Commits on Apr 15, 2011
  1. Mazen Harake

    Housekeeping

    mazenharake authored
  2. Mazen Harake

    Add on_quit command

    mazenharake authored
    on_quit triggers when a user is in a channel that the bot is in.
  3. Mazen Harake

    Add on_ping, on_kick, on_nick and on_raw callbacks

    mazenharake authored
    on_ping happens when the server sends a ping request. on_kick happens
    when someone is kicked from a channel the bot is in. on_nick happens
    when someone changes his/her nickname in a channel and on_raw is sent if
    none of the previous commands are picked up by the behaviour and gives
    the bot a chance to respond to them.
Commits on Apr 11, 2011
  1. Mazen Harake
  2. Mazen Harake

    Add default ctcp response if callback module doesn't export on_ctcp

    mazenharake authored
    When the callback module doesn't export on_ctcp then catch the error and
    send a default response. This is for ctcp only. Do not do anything in
    case the other callbacks aren't exported.
Commits on Apr 10, 2011
  1. Mazen Harake

    Add on_mode and on_topic callbacks for the behaviour

    mazenharake authored
    When the server or the user sends a MODE msg to the client the behaviour
    will now trigger the on_mode callback and if someone sets a topic in a
    channel the client is in the behaviour will trigger on_topic
Commits on Apr 4, 2011
  1. Mazen Harake
  2. Mazen Harake

    Add more event support to behaviour (on_* events) and extend example

    mazenharake authored
    The behaviour now also supports on_ctcp, on_text, on_notice, on_join and
    on_part. The state of the eirc client can now also be retrieved using
    eirc:state() which is used to get data about the server connection in a
    proplist format. Some printouts were removed.
  3. Mazen Harake

    Add gen_eircbot to make it easier to create bots.

    mazenharake authored
    gen_eircbot is a behaviour to make it possible for botmakers to quickly
    get a bot up and running without having to deal with IRC specific
    things.
    
    First version handles the callbacks init, on_connect and terminate
Commits on Apr 3, 2011
  1. Mazen Harake

    Add supervisor to monitor the client and extend some APIs

    mazenharake authored
    The client is started under a supervisor, this lets the user run
    multiple clients which are supervised without taking care of the code
    for it. One can still use the eirc_cl:x module to start the clients
    directly and bypass the supervisor if the functionality is not needed.
    
    Some APIs for introspection were added and the idea now is that a "bot"
    must register with the client to get events, it is no longer assumed
    that the process that starts the client is the one that wants to receive
    the irc messages. To connect and login easier the logon API was given an
    easier API for one that is not familiar with the IRC protocol and
    usually (can't think of when not) a user wants to logon after connecting
    so this was moved into one API.
Commits on Aug 3, 2010
  1. Changed the license to a 2-clause BSD.

    Mazen Harake authored
  2. Removed some unnecessary compile flags

    Mazen Harake authored
Commits on Jun 13, 2010
  1. Mazen Harake
Commits on Apr 18, 2010
  1. Mazen Harake

    Added a check which will help to know if a message/notice is coming f…

    mazenharake authored
    …rom a user or from a server. Also removed a printout
  2. Mazen Harake
Commits on Apr 15, 2010
  1. Mazen Harake

    Updated README a little

    mazenharake authored
  2. Mazen Harake

    Added an example bot to show how the client library is intended to be…

    mazenharake authored
    … used. It demonstrates the most basic examples.
Commits on Apr 14, 2010
  1. Mazen Harake

    Added functionality to "fill up" the users list when entering a chann…

    mazenharake authored
    …el and then maintaining it. Added some introspection functions to get if a user is in a channel and what type the channel is.
  2. Mazen Harake

    One can now PART a channel using existing API :P Also added functiona…

    mazenharake authored
    …lity to track topics in a channel
Commits on Apr 13, 2010
  1. Mazen Harake

    Added basic support to join/leave channels and also keeping track of …

    mazenharake authored
    …people coming in an leaving channels the client are in.
  2. Mazen Harake

    Changed the handling of CTCP events somewhat. There is now a flag in …

    mazenharake authored
    …the #ircmsg record called ctcp. It can have one of the following values: true, false or invalid.
    
    true means that the message was interpreted as an CTCP message (as specified informally on the internet and conforms with how mIRC sends/receives CTCP messages).
    
    false means it is anything other then a CTCP message.
    
    invalid means that it looked as if it was an CTCP message but it turned out that it wasn't conformant with the proper format. A CTCPMsg must be wrapped inside a PRIVMSG command and the second argument must be the following format: CTCPMsg = "'\001'<Chars-Except-001-Char>'\001'" Thus the whole thing looks like this when coming from the server: "PRIVMSG <nick> :<CTCPMsg>\r\n", If it doesn't then the ctcp flag will be invalid. Invalid CTCP messages will only be delivered back to the controlling process if the "{debug, true}" option has been passed with the initial Options when starting the client.
  3. Mazen Harake

    Added lost file.

    mazenharake authored
Something went wrong with that request. Please try again.