X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=Quotes.pm;h=97aa231603379b1d59a091ce575aae370b74b733;hb=ca89193ac48c1cb1ea13da93b66a9ef03a51e430;hp=cf2750b79f7e891e6cadad37f08d98c25f5dff4c;hpb=9e84f393649d1ecbc24a94476352a28f49afa458;p=NDIRC.git diff --git a/Quotes.pm b/Quotes.pm index cf2750b..97aa231 100644 --- a/Quotes.pm +++ b/Quotes.pm @@ -16,10 +16,10 @@ # Free Software Foundation, Inc., * # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * #**************************************************************************/ -package ND::IRC::Quotes; +package NDIRC::Quotes; use strict; use warnings; -use ND::IRC::Access; +use NDIRC::Access; use Tie::File; use File::Temp (); require Exporter; @@ -33,6 +33,12 @@ tie our @OLDFILE, 'Tie::File',"/home/ndawn/.eos/scripts/oldquotes.txt" or die "t sub quote { my ($n) = @_; + if (defined $n && $n =~ /(\d+)/){ + $n = $1; + }else{ + $n = undef; + } + $n = $n-1 if defined $n; $n = int(rand($#FILE)) unless defined $n; my $text = $FILE[$n]; @@ -44,6 +50,10 @@ sub quote { sub addQuote { my ($quote) = @_; + unless (defined $quote){ + $ND::server->command("notice $ND::nick Usage: .addquote quote"); + return; + } push @FILE, $quote; my $num = $#FILE+1; $ND::server->command("msg $ND::target Quote $ND::B$num$ND::B added"); @@ -56,9 +66,13 @@ sub lastQuote { $ND::server->command("msg $ND::target Quote $ND::B$n$ND::B of $ND::B$n:$ND::B $text"); } sub findQuote { - my ($type,$pattern) = @_; + my ($pattern,$type) = @_; my $matcher; - if ($type eq 'qre'){ + unless (defined $pattern){ + $ND::server->command("notice $ND::nick $type query | findqre uses regexes as query, findquote a substring match. Both are case insensitive"); + return; + } + if ($type eq 'findqre'){ if (defined (eval 'm/$pattern/ix')){ $matcher = 'm/$pattern/ix'; }else { @@ -92,6 +106,11 @@ sub findQuote { sub delQuote { my ($n) = @_; if (hc){ + if ($n =~ /^(\d+)$/){ + $n = $1; + }else{ + return + } $n = $n-1; if (exists $FILE[$n]){ my ($uid,$username) = $ND::DBH->selectrow_array(q{SELECT uid,username FROM users where hostmask ILIKE ?}