User:Polbot/source/Use Polbot 2.pl

use strict;
use Q::Polbot;
use Perlwikipedia;

my $soonest_next_op = time;

my $pw=Perlwikipedia->new();
#$pw->{debug} = 1;
$pw->{mech}->agent('Bot/WP/EN/Quadell/polbot');

print "\nStarting polbot, logging in.\n" ;
my $login_status=$pw->login('bot name','bot password');
die "I can't log in." unless ($login_status == 0);

# Get articles that use the wrong template
my @bios = $pw->what_transcludes_here("Template:Bioguide");
print "There are " . scalar(@bios) . " articles using {{bioguide}}.\n\n";

my $i = 0;

foreach my $article_name (sort @bios) {
	my $URL = Polbot::Get_URL_from_name($article_name);
	#print $URL;
	if ($URL =~ m/^http.*=(.......)$/) {
		my $code = $1;
		my $wiki = $pw->get_text($article_name);
		
		$wiki =~ s/(\*\s*)?\{\{bioguide\}\}/{{CongBio|$code}}/i;
		$wiki = Polbot::fix_dates($wiki);
		$wiki = Polbot::replace_unlinked_tokens($wiki);
		
		$|=1;
		print "Waiting " . ($soonest_next_op - time) . " secs... ";
		$|=1;
		while (time < $soonest_next_op) {};				
		$soonest_next_op = time + 13;

		print "Fixing $article_name\n";
		$pw->edit($article_name, $wiki, "Replacing {{bioguide}} with {{CongBio|$code}}, plus misc fixes");

	} else {
		print "Skipping $article_name\n";
	}
}