From 96d388d9f9f80f4f886e84562bd8688852672682 Mon Sep 17 00:00:00 2001 From: "ian%hixie.ch" Date: Tue, 19 Feb 2002 21:37:20 +0000 Subject: [PATCH] Minor changes to what commands are accepted to make it friendlier. b=72961, r=kerz git-svn-id: svn://10.0.0.236/trunk@114953 18797224-902f-48f8-a5cc-f745e15eee43 --- .../webtools/mozbot/BotModules/Greeting.bm | 49 ++++++++++--------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/mozilla/webtools/mozbot/BotModules/Greeting.bm b/mozilla/webtools/mozbot/BotModules/Greeting.bm index 534263c4124..b163daecfeb 100644 --- a/mozilla/webtools/mozbot/BotModules/Greeting.bm +++ b/mozilla/webtools/mozbot/BotModules/Greeting.bm @@ -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(@_);