################################ # UUIDGen Module # ################################ # "uuidgen" should be installed on the path somewhere. # you can get the source of uuidgen from CVS, see: # http://lxr.mozilla.org/mozilla/source/webtools/mozbot/uuidgen/ package BotModules::UUIDGen; use vars qw(@ISA); @ISA = qw(BotModules); 1; sub Help { my $self = shift; my ($event) = @_; return { '' => 'This module is an interface to the uuidgen application.', 'uuid' => 'Generates a UUID.', }; } sub Told { my $self = shift; my ($event, $message) = @_; if ($message =~ /^\s*uuid(?:[\s,!?]+please)?[\s,!?]*\s*$/osi) { $self->spawnChild($event, 'uuidgen', [], 'UUID', []); } else { return $self->SUPER::Told(@_); } return 0; # we've dealt with it, no need to do anything else. } # ChildCompleted - Called when a child process has quit sub ChildCompleted { my $self = shift; my ($event, $type, $output, @data) = @_; if ($type eq 'UUID') { $self->say($event, $output); } else { return $self->SUPER::ChildCompleted(@_); } }