X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=Quotes.pm;h=97aa231603379b1d59a091ce575aae370b74b733;hb=dfea4968ee6ecf37dda558340e26261a2e3b97f0;hp=84514801af0a2667571765e7d19233be5a3b1157;hpb=ec80f6c0dba1fd56a63d591e89f6368d468912f7;p=NDIRC.git diff --git a/Quotes.pm b/Quotes.pm index 8451480..97aa231 100644 --- a/Quotes.pm +++ b/Quotes.pm @@ -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 ?}