Commits on Feb 18, 2016
  1. Implement basic CTCP TIME.

    committed Feb 18, 2016
Commits on Feb 17, 2016
  1. h4x: Fix CTCP PING response.

    Should have been capturing the numeric timestamp and returning it and
    should be responding with PING, not PONG.
    committed Feb 17, 2016
Commits on Sep 24, 2015
Commits on Aug 21, 2015
  1. h4x: Store date/time for nicks in channels.

    This may be the precursor to a ~seen command. A database backing would
    be better though.
    committed Aug 20, 2015
Commits on Jul 29, 2015
  1. Add rudimentary server tracking.

    This is intended to keep track of the server that we have connected to
    for future reference.
    committed Jul 29, 2015
  2. h4x: Adding missing module file to repo.

    Somehow I forgot to commit this and didn't notice until now.
    committed Jul 29, 2015
  3. h4x: Fix about-file absolute path detection.

    This is obviously not a platform-independent solution, but my priority
    is *nix support. I'll worry about other platforms when and if Bambot
    becomes useful and used by other people. Until then if he runs on other
    platforms that's just a bonus.
    committed Jul 29, 2015
Commits on Jul 28, 2015
  1. Add about command.

    committed Jul 28, 2015
Commits on Jul 27, 2015
  1. h4x: Fix select timeout initialization logic.

    We need to assign to the timeout if it's less than our select timeout
    (e.g., 5 minutes) OR undefined.
    committed Jul 27, 2015
  2. Move timeout log message so it always happens.

    Bambot is sleeping indefinitely (over 3 days this time) when he should
    be maxed out at 5 minutes. Hopefully better logs will reveal the bug.
    committed Jul 27, 2015
Commits on Jul 24, 2015
  1. Add recursive solution to reload run method.

    The run method was essentially the one thing that we couldn't hot swap
    and that's because it's the main method: you never exit it until Bambot
    is killed. To solve the problem (without jumping through hoops or
    dirtying the caller, and without disconnecting/reconnecting, etc.), I've
    decided to die() with a specific exception which the run method can
    catch and handle special. When caught it will log the result to the
    appropriate place for the user and then recurse into itself.
    committed Jul 24, 2015
  2. Remove redundant newline.

    committed Jul 24, 2015
  3. Parse log messages into pieces during --log.

    This allows us finer grained control over the output. The result also
    simplifies the localize_time subroutine which no longer need to do the
    parsing itself.
    committed Jul 24, 2015
  4. Always log verbose to storage with filterable tag.

    By logging all messages to storage, even if the message is verbose and
    verbose isn't enabled, it allows us to peer into much more detailed logs
    in the event of a bug in "production". The new --log viewer mode can be
    used to filter verbose messages out while reading the logs.
    Alternatively, something as simple as `grep -v \|VERBOSE' would probably
    suffice in a pinch.
    committed Jul 24, 2015