mirror of
https://github.com/pragma-/pbot.git
synced 2024-12-23 19:22:40 +01:00
73b793295b
todo! multi-channel support pathetic (note 12/08/09, fixed multi-channel for anti-flood and for ignore) todo! most of this crap needs to be refactored (note 11/23/09, refactored execute_module) 0.4.1 (12/08/09): improved anti-flood system to be significantly more accurate and per-channel added per-nick-per-channel message history using %flood_watch add per-channel support to ignore system automatically remove message history for nicks that haven't spoken in one day (run once per hour) do not ignore !login command 0.3.16(11/23/09): refactored module execution to execute_module() subroutine added trigger to execute get_title.pl module when URL is detected in regular untriggered chat 0.3.15(11/20/09): replace 'me' with '$nick' in arguments
46 lines
986 B
Perl
Executable File
46 lines
986 B
Perl
Executable File
#!/usr/bin/perl -w -I /home/msmud/lib/lib/perl5/site_perl/5.10.0/
|
|
|
|
# Quick and dirty by :pragma
|
|
|
|
use LWP::UserAgent;
|
|
|
|
my ($text, $t);
|
|
|
|
my $ua = LWP::UserAgent->new;
|
|
$ua->agent("Mozilla/5.0");
|
|
|
|
my %post = ( 'number' => '4', 'collection[]' => '20thcent' );
|
|
|
|
my $response = $ua->post("http://www.quotationspage.com/random.php3", \%post);
|
|
|
|
if (not $response->is_success)
|
|
{
|
|
print "Couldn't get quote information.\n";
|
|
die;
|
|
}
|
|
|
|
$text = $response->content;
|
|
|
|
$text =~ m/<dt class="quote"><a.*?>(.*?)<\/a>.*?<dd class="author"><div.*?><a.*?>.*?<b>(.*?)<\/b>/g;
|
|
$t = "\"$1\" -- $2.";
|
|
|
|
my $quote = chr(226) . chr(128) . chr(156);
|
|
my $quote2 = chr(226) . chr(128) . chr(157);
|
|
my $dash = chr(226) . chr(128) . chr(147);
|
|
|
|
$t =~ s/<[^>]+>//g;
|
|
$t =~ s/<\/[^>]+>//g;
|
|
$t =~ s/$quote/"/g;
|
|
$t =~ s/$quote2/"/g;
|
|
$t =~ s/$dash/-/g;
|
|
$t =~ s/"/"/g;
|
|
$t =~ s/&/&/g;
|
|
$t =~ s/&nsb;/ /g;
|
|
$t =~ s/'/'/g;
|
|
$t =~ s/</</g;
|
|
$t =~ s/>/>/g;
|
|
$t =~ s/<em>//g;
|
|
$t =~ s/<\/em>//g;
|
|
|
|
print "$t Discuss!\n";
|