From 49b8fd93afa1a4981cbba011ed0f09e5403ccd93 Mon Sep 17 00:00:00 2001 From: Neil Moore Date: Mon, 2 Jan 2012 22:51:24 -0500 Subject: Plugin for %?? command, like gretell's @??. --- lib/Crawl/Bot/Plugin/Monster.pm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 lib/Crawl/Bot/Plugin/Monster.pm diff --git a/lib/Crawl/Bot/Plugin/Monster.pm b/lib/Crawl/Bot/Plugin/Monster.pm new file mode 100644 index 0000000..8b917fe --- /dev/null +++ b/lib/Crawl/Bot/Plugin/Monster.pm @@ -0,0 +1,40 @@ +package Crawl::Bot::Plugin::Monster; +use Moose; + +extends 'Crawl::Bot::Plugin'; + +use autodie; + +warn "Loading Plugin::Monster\n"; + +sub said { + my $self = shift; + my ($args) = @_; + my @keys = (who => $args->{who}, channel => $args->{channel}, "body"); + + if ($args->{body} =~ /^%\?\? *(.*)/) { + my $resp = $self->get_monster_info($1); + if ($resp) { + $self->say(@keys, $resp); + } else { + $self->say(@keys, "Error calling monster-trunk: $!") + } + } +} + +sub get_monster_info { + my $self = shift; + my $monster = shift; + + CORE::open(F, "-|", "bin/monster-trunk", $monster) or return undef; + local $/ = undef; + my $resp = ; + CORE::close(F) or return undef; + + return $resp; +} + +__PACKAGE__->meta->make_immutable; +no Moose; + +1; -- cgit v1.2.3-54-g00ecf