Utilisateur:Romainbehar/Programmation : GwynBot

Définition, traduction, prononciation, anagramme et synonyme sur le dictionnaire libre Wiktionnaire.

GwynBot[modifier le wikicode]

J’ai créé le robot GwynBot pour effectuer les tâches simples et répétitives qui n’ont pas besoin de vérification.

La bibliothèque MediaWiki::Bot permet d’écrire son Bot en quelques lignes.

Programme[modifier le wikicode]

#!/usr/bin/perl -w

use strict;
use utf8;
use open qw( :encoding(utf8) :std );

use MediaWiki::Bot qw(:constants);

my $bot = MediaWiki::Bot->new({
     assert      => 'bot',
     host        => 'fr.wiktionary.org',
     login_data  => { username => "GwynBot", password => "###" },
     agent       => sprintf('GwynBot/1.0 (https://fr.wiktionary.org/wiki/Utilisateur:GwynBot; User:GwynBot) MediaWiki::Bot/5.006003'),
     debug       => 2
}) or die "Could not log in\n";


# liste des articles à modifier
my @titres = ('titre1', 'titre2', 'titre3');

for my $titre (@titres) {
	# récupération du texte
	my $text = $bot->get_text($titre);

	# modification
	my $text2 = $text;
	# ...

	# mise à jour
	if ($text2 ne $text) {

		$bot->edit({
		    page    => $titre,
		    text    => $text2,
		    summary => "J'ai fait ça",
		    minor   => 1,
		    assert  => 'user',
		    markasbot => undef,
		});

		print "Fait : $titre\n";
		sleep 10;
	}
}


$bot->logout();