Minor changes to what commands are accepted to make it friendlier. b=72961, r=kerz

This commit is contained in:
ian%hixie.ch 2002-02-19 21:37:20 +00:00
parent 59d3d1ebd0
commit f5f6847827

View File

@ -1,3 +1,4 @@
# -*- Mode: perl; tab-width: 4; indent-tabs-mode: nil; -*-
################################
# Greeting Module #
################################
@ -38,7 +39,7 @@ sub RegisterConfig {
['owIndex', 1, 1, 0],
['veryow', 1, 1, ['OOOOWWWW!!!', 'GETOFF!!!', '/me fights back', 'Yikes! I\'m being attacked!!', '/me hits % over the head with a 2-by-4']],
['veryowIndex', 1, 1, 0],
['yousuck', 1, 1, ['%: no, *you* suck!', '/me pouts', '/me cries']],
['yousuck', 1, 1, ['%: no, *you* suck!', '/me pouts', '/me cries', '/me . o O ( now what have i done... )']],
['yousuckIndex', 1, 1, 0],
['thanks', 1, 1, ['sure thing %', 'np', '%: np', '%: just doing my job!']],
['thanksIndex', 1, 1, 0],
@ -87,7 +88,7 @@ sub Told {
if ($self->canGreet($event)) {
$self->Perform($event, 'greetings');
}
} elsif ($message =~ /^\s*(?:bye|'?night|seeya)[?!1.\s]*$/osi) {
} elsif ($message =~ /^\s*(?:bye|(?:g?'?|good\s+)night|seeya|ciao)[?!1.\s]*$/osi) {
$self->Perform($event, 'byes');
} elsif ($message =~ /^\s*say[\s:,"']+(hi|hello|good\s*bye|seeya)(?:\s+to\s+(\S+))(?:[,\s]*please)?[?!1.\s]*$/osi) {
if ($2) {
@ -95,13 +96,13 @@ sub Told {
} else {
$self->say($event, "$1");
}
} elsif ($message =~ /^\s*(?:you\s+(?:really\s+)?suck(?:\s+hard|(?:\s+big)?\s+rocks)?|you(?:\s+a|')re\s+an\s+idiot|i\s+hate\s+you)[?!1.\s]*\s*$/osi) {
} elsif ($message =~ /^\s*(?:you\s+(?:really\s+)?suck(?:\s+hard|(?:\s+big)?\s+rocks)?|you(?:\s+a|')re\s+an\s+idiot|i\s+hate\s+you)[?!1.\s]*$/osi) {
$self->Perform($event, 'yousuck');
} elsif ($message =~ /^\s*(?:oh[!1?.,\s]*)?(?:thanks|cheers)[\s!1.]*(?:[;:8][-o]?[]()\|O0<>[]\s*)?$/osi) {
} elsif ($message =~ /^\s*(?:oh[!1?.,\s]*)?(?:thanks|thank\s+you|cheers)[\s!1.]*(?:[;:8][-o]?[]()\|O0<>[]\s*)?$/osi) {
$self->Perform($event, 'thanks');
} elsif ($message =~ /^\s*(?:good\s+bot[.!1\s]*|you\s+rock|:-?\)|(?:have\s+a\s+)?bot\s*snack[.!1\s]*)\s*(?:[;:8][-o]?[]()\|O0<>[]\s*)?$/osi) {
$self->Perform($event, 'happy');
} elsif ($message =~ /^\s*(?:i|we)\s+love\s+you\s*[.!1]*\s*(?:[;:8][-o]?[]()\|O0<>[]\s*)?$/osi) {
} elsif ($message =~ /^\s*(?:i|we)\s+love\s+you[.!1\s]*(?:[;:8][-o]?[]()\|O0<>[]\s*)?$/osi) {
$self->Perform($event, 'happy');
} elsif ($message =~ /^\s*die[!1.\s]*$/osi) {
$self->Perform($event, 'unhappy');
@ -113,7 +114,7 @@ sub Told {
} elsif ($message =~ /^\s*(?:up\s*(?:time)|status)?[?!1.\s]*$/osi) {
$uptime = $self->days($^T);
$self->say($event, "$event->{'from'}: I've been up $uptime.");
} elsif ($message =~ /^\s*r+h(e+)t+[!1.\s]*\s*$/osi) {
} elsif ($message =~ /^\s*r+h+e(e+)t+[!1.\s]*$/osi) {
if (length($1) < $self->{'rheetMaxEs'}) {
$self->say($event, "$event->{'from'}: rhe$1$1t!");
} else {
@ -121,7 +122,7 @@ sub Told {
}
} elsif ($message =~ /^\s*ping\s*$/osi) {
$self->say($event, "$event->{'from'}: pong");
} elsif ($message =~ /^\s*!?seen\s+(\S+)\s*$/osi) {
} elsif ($message =~ /^\s*!?seen\s+(\S+)[\s?]*$/osi) {
$self->DoSeen($event, $1);
} else {
return $self->SUPER::Told(@_);
@ -139,26 +140,26 @@ sub Heard {
}
my $me = quotemeta($event->{'bot'}->nick);
my $expandedme = join('+', split(//gos, $me)).'+';
if ($message =~ /^\s*(?:(?:hi|heya?|w+a+s+u+p+|hello|mornin[g']?|greetings|yo(?:\s+yo)*|bonjour|hoi)\s+$me|$expandedme\s*)!*1*\s*$/si) {
if ($message =~ /^\s*(?:(?:hi|heya?|w+a+s+u+p+|hello|mornin[g']?|greetings|yo(?:\s+yo)*|bonjour|hoi)\s+$me|$expandedme\s*)[!1\s]*$/si) {
if ($self->canGreet($event)) {
$self->Perform($event, 'greetings');
}
} elsif ($message =~ /^\s*(?:bye|night|seeya|ciao)\s+$me\s*[!1.]*\s*$/si) {
} elsif ($message =~ /^\s*(?:bye|(?:g?'?|good\s+)night|seeya|ciao)\s+$me[!1.\s]*$/si) {
$self->Perform($event, 'byes');
} elsif ($message =~ /^\s*(?:oh[!1?,.\s]*)?(?:thanks|cheers)\s+$me[\s!1.]*(?:[;:8][-o]?[]()\|O0<>[]\s*)?$/si) {
} elsif ($message =~ /^\s*(?:oh[!1?,.\s]*)?(?:thanks|thank\s*you|cheers)\s+$me[\s!1.]*(?:[;:8][-o]?[]()\|O0<>[]\s*)?$/si) {
$self->Perform($event, 'thanks');
} elsif (($message =~ /^\s*(?:oh[!1?,.\s]*)?(?:thanks|cheers)[\s!1.]*(?:[;:8][-o]?[]()\|O0<>[]\s*)?$/si) and ($self->canAssumeThanks($event))) {
} elsif (($message =~ /^\s*(?:oh[!1?,.\s]*)?(?:thanks|thank\s*you|cheers)[\s!1.]*(?:[;:8][-o]?[]()\|O0<>[]\s*)?$/si) and ($self->canAssumeThanks($event))) {
$self->Perform($event, 'thanks');
} elsif (($message =~ /^\s*(?:good\s+bot)[!1.\s]*(?:[;:8][-o]?[]()\|O0<>[]\s*)?$/si) and ($self->canAssumeThanks($event))) {
$self->Perform($event, 'happy');
} elsif (($message =~ /^\s*(?:you\s+(?:really\s+)?suck(?:\s+hard|(?:\s+big)?\s+rocks)?|you(?:\s+a|')re\s+an\s+idiot|i\s+hate\s+you)[?!1.\s]*\s*$/osi) and
} elsif (($message =~ /^\s*(?:you\s+(?:really\s+)?suck(?:\s+hard|(?:\s+big)?\s+rocks)?|you(?:\s+a|')re\s+an\s+idiot|i\s+hate\s+you)[?!1.\s]*$/osi) and
($self->canAssumeThanks($event))) {
$self->Perform($event, 'yousuck');
} elsif ($message =~ /^\s*(?:good|yay[\s!1.]*)\s+$me[\s!1.]*(?:[;:8][-o]?[]()\|O0<>[]\s*)?$/si) {
} elsif ($message =~ /^\s*(?:good(?:\s$me)?|yay[\s!1.]*|i\s+love\s+you)\s+$me[\s!1.]*(?:[;:8][-o]?[]()\|O0<>[]\s*)?$/si) {
$self->Perform($event, 'happy');
} elsif ($message =~ /^\s*(?:$me\s*[.?\/]+)\s*$/si) {
$self->Perform($event, 'listen');
} elsif ($message =~ /^\s*r+h(e+)t+[!1.\s]*\s*$/osi) {
} elsif ($message =~ /^\s*r+h(e+)t+[!1.\s]*$/osi) {
if ((time()-$self->{'lastrheet'}) > $self->{'rheetbuffer'}) {
if (length($1) < $self->{'rheetMaxEs'}) {
$self->say($event, "rhe$1$1t!");
@ -188,19 +189,21 @@ sub Felt {
$self->{'seenStates'}->{lc $event->{'from'}} = "saying '* $nick $message' in $channel.";
}
my $me = quotemeta($event->{'bot'}->nick);
if ($message =~ /^\s*(?:pokes|prods)\s+$me\s*[!1.]*\s*$/si) {
if ($message =~ /^\s*(?:pokes|prods)\s+$me[\s!1.]*$/si) {
$self->Perform($event, 'ow');
} elsif ($message =~ /^\s*(?:stabs|slaps|kicks|kills|hits|punches)\s+$me\s*[!1.]*\s*$/si) {
} elsif ($message =~ /^\s*(?:stabs|slaps|kicks|kills|hits|punches)\s+$me[\s!1.]*$/si) {
$self->Perform($event, 'veryow');
} elsif ($message =~ /^\s*lights\s+$me\s+on\s+fire\s*[!1.]*\s*$/si) {
} elsif ($message =~ /^\s*lights\s+$me\s+on\s+fire[!1.\s]*$/si) {
$self->Perform($event, 'veryow');
} elsif ($message =~ /^\s*(?:pats|strokes|pets)\s+$me\s*[!1.]*\s*$/si) {
} elsif ($message =~ /^\s*(?:pats|strokes|pets)\s+$me[!1.\s]*$/si) {
$self->Perform($event, 'happy');
} elsif ($message =~ /^\s*slaps\s+$me\s+(?:around\s+)?(?:a\s+(?:bit|lot|little|while)\s+)?with\s+a\s+(?:(?:big|fat|large|wet|and)[\s,]+)*trout\s*[!1.]*\s*$/si) {
} elsif ($message =~ /^\s*slaps\s+$me\s+(?:around\s+)?(?:a\s+(?:bit|lot|little|while)\s+)?with\s+a\s+(?:(?:big|fat|large|wet|and)[\s,]+)*trout[\s!1.]*$/si) {
$self->Perform($event, 'ow');
} elsif ($message =~ /^\s*(?:slaps|kicks|smacks)\s+$me\s*[!1.]*\s*$/si) {
} elsif ($message =~ /^\s*(?:slaps|kicks|smacks)\s+$me[\s!1.]*$/si) {
$self->Perform($event, 'yousuck');
} elsif ($message =~ /^\s*(?:hugs|kisses)\s+$me\s*[!1.]*\s*$/si) {
} elsif ($message =~ /^\s*(?:glares|stares)\s+at\s+$me[\s!1.]*$/si) {
$self->Perform($event, 'yousuck');
} elsif ($message =~ /^\s*(?:hugs|kisses)\s+$me[\s!1.]*$/si) {
$self->Perform($event, 'vhappy');
} else {
return $self->SUPER::Felt(@_);
@ -217,12 +220,12 @@ sub Saw {
$self->{'seenTimes'}->{lc $event->{'from'}} = time();
$self->{'seenStates'}->{lc $event->{'from'}} = "saying '* $nick $message' in $channel.";
}
if ($message =~ /^\s*r+h(e+)t+s?[!1.]*\s*$/osi) {
if ($message =~ /^\s*r+h+e(e+)t+s?[!1.\s]*$/osi) {
if ((time()-$self->{'lastrheet'}) > $self->{'rheetbuffer'}) {
$self->say($event, "rhe$1$1t!");
$self->{'lastrheet'} = time();
}
} elsif (($message =~ /^\s*(?:smiles)\s*[!1.]*\s*$/si) and ($self->canAssumeThanks($event))) {
} elsif (($message =~ /^\s*(?:smiles)\s*[!1.\s]*$/si) and ($self->canAssumeThanks($event))) {
$self->Perform($event, 'happy');
} else {
return $self->SUPER::Felt(@_);