X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=src%2FModules%2Finsult.pl;h=57acc2de8aebf453ae7d234f9c20da19c4f9c7f7;hb=cb81fea9939f349b36e3b5a0cdc0343a6b781da1;hp=e13979113f198db4b650ea3b45ec399c88cb9d63;hpb=0aa3bd828d0482ad2bd15ef94ce88bf52fb68849;p=infobot.git diff --git a/src/Modules/insult.pl b/src/Modules/insult.pl index e139791..57acc2d 100644 --- a/src/Modules/insult.pl +++ b/src/Modules/insult.pl @@ -1,28 +1,96 @@ # # insult.pl: insult engine -# TODO: move this code out to a common file like I did with DNS. -# => use the command hooks system aswell # - -use strict; +# 2004.10.21 Tim Riker +# colorado server is dead. pull in the words and do it ourself +# package Insult; +use strict; + sub Insult { my ($insultwho) = @_; - return unless &::loadPerlModule("Net::Telnet"); - - my $t = new Net::Telnet(Timeout => 3); - $t->Net::Telnet::open(Host => "insulthost.colorado.edu", Port => "1695"); - my $line = $t->Net::Telnet::getline(Timeout => 4); - - $line = "No luck, $::who" unless (defined $line); - - if ($insultwho ne $::who) { - $line =~ s/^\s*You are/$insultwho is/i; + my @adjs; + my @amts; + my @nouns; + &::DEBUG('Reading insult data'); + while () { + chomp; + push(@adjs, split(' ', $1)) if /^adj\s*(.*)/; + push(@amts, split(' ', $1)) if /^amt\s*(.*)/; + push(@nouns, split(' ', $1)) if /^noun\s*(.*)/; } + grep(s/\|/ /g, @adjs); + grep(s/\|/ /g, @amts); + grep(s/\|/ /g, @nouns); + srand(); # fork seems to not change rand. force it here + my $adj = @adjs[rand(@adjs)]; + my $n; + $n = 'n' if $adj =~ /^[aeiouih]/; + my $amt = @amts[rand(@amts)]; + my $adj2 = @adjs[rand(@adjs)]; + my $noun = @nouns[rand(@nouns)]; + my $whois = "$insultwho is"; + $whois = 'You are' if ($insultwho eq $::who or $insultwho eq 'me'); - &::pSReply($line); + &::performStrictReply("$whois nothing but a$n $adj $amt of $adj2 $noun"); } 1; + +# vim:ts=4:sw=4:expandtab:tw=80 + +__DATA__ +# +# configuration file for colorado insult server +# +# Use the '|' character to include a space in the middle of a noun, adjective +# or amount (it'll get transmogrified into a space. No, really!). +# +# Mon Mar 16 10:49:53 MST 1992 garnett added more colorful insults +# Fri Dec 6 10:48:43 MST 1991 garnett +# + +## +# Adjectives +## +adj acidic antique contemptible culturally-unsound despicable evil fermented +adj festering foul fulminating humid impure inept inferior industrial +adj left-over low-quality malodorous off-color penguin-molesting +adj petrified pointy-nosed salty sausage-snorfling tastless tempestuous +adj tepid tofu-nibbling unintelligent unoriginal uninspiring weasel-smelling +adj wretched spam-sucking egg-sucking decayed halfbaked infected squishy +adj porous pickled coughed-up thick vapid hacked-up +adj unmuzzled bawdy vain lumpish churlish fobbing rank craven puking +adj jarring fly-bitten pox-marked fen-sucked spongy droning gleeking warped +adj currish milk-livered surly mammering ill-borne beef-witted tickle-brained +adj half-faced headless wayward rump-fed onion-eyed beslubbering villainous +adj lewd-minded cockered full-gorged rude-snouted crook-pated pribbling +adj dread-bolted fool-born puny fawning sheep-biting dankish goatish +adj weather-bitten knotty-pated malt-wormy saucyspleened motley-mind +adj it-fowling vassal-willed loggerheaded clapper-clawed frothy ruttish +adj clouted common-kissing pignutted folly-fallen plume-plucked flap-mouthed +adj swag-bellied dizzy-eyed gorbellied weedy reeky measled spur-galled mangled +adj impertinent bootless toad-spotted hasty-witted horn-beat yeasty +adj imp-bladdereddle-headed boil-brained tottering hedge-born hugger-muggered +adj elf-skinned + +## +# Amounts +## +amt accumulation bucket coagulation enema-bucketful gob half-mouthful +amt heap mass mound petrification pile puddle stack thimbleful tongueful +amt ooze quart bag plate ass-full assload + +## +# Objects +## +noun bat|toenails bug|spit cat|hair chicken|piss dog|vomit dung +noun fat-woman's|stomach-bile fish|heads guano gunk pond|scum rat|retch +noun red|dye|number-9 Sun|IPC|manuals waffle-house|grits yoo-hoo +noun dog|balls seagull|puke cat|bladders pus urine|samples +noun squirrel|guts snake|assholes snake|bait buzzard|gizzards +noun cat-hair-balls rat-farts pods armadillo|snouts entrails +noun snake|snot eel|ooze slurpee-backwash toxic|waste Stimpy-drool +noun poopy poop craptacular|carpet|droppings jizzum cold|sores anal|warts