# 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;
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];
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");
$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 {
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 ?}