#!/usr/bin/perl -w

use strict;
use Bot::BasicBot;

package TempBot;
use base qw( Bot::BasicBot );
use Log::Log4perl qw(:easy);
use RRDTool::OO;

###########################################
sub said {
###########################################
  my($self, $mesg) = @_;

  return unless $mesg->{body} eq "temp";

  my $rrd = RRDTool::OO->new(
      file => "/tmp/temperature.rrd" );

  my $dsnames = $rrd->meta_data("dsnames");

  $rrd->fetch_start(
    start => time() - 5*60, 
    end   => time()
  );

  my $string;

  while(my($time, @values) = 
                      $rrd->fetch_next()) {
    for(my $i=0; $i<@$dsnames; $i++) {
      $string .= sprintf "%10s: %.1f\n", 
                         $dsnames->[$i], 
                         $values[$i];
    }
    return $string;
  }
}

$^W = undef;

TempBot->new(
  server   => 'irc.freenode.net',
  channels => ['#sftemp'],
  nick     => 'tempbot',
)->run();
