Botwiki:Iniziare un bot in php

From Botwiki

Jump to: navigation, search

Questa guida ha l'obiettivo di dare le minime basi per la costruzione di uno script in php utilizzando il Image:Phpwikibot-0.6.2.tar.gz.

[edit] Requisiti

Ovviamente per funzionare è necessario scaricare e decomprimere il Image:Phpwikibot-0.6.2.tar.gz su cui tutto si basa. Trattandosi di php servirà anche un interprete per questo linguaggio come quello da linea di comando fornito da php.net. Eventualmente si può usare anche apache (o un qualunque web server) in aggiunta per creare una sorta di "interfaccia grafica" ai nostri script.

[edit]  !! Attenzione !!

Lo dico bene qui perché sia chiaro per tutti: PHP non è semplice da imparare e se non avete già dimestichezza con questo linguaggio allora lasciate perdere il bot!. Fare un bot in php non è il modo in cui cominciare ad imparare il linguaggio. I danni che si possono creare sono enormi e non sarà per nulla facile. Se siete alle prime armi vi consiglio il ben più intuitivo (diffuso e meglio collaudato) python.

[edit] Il codice per la prima modifica

Visto quanto detto sopra, dovreste essere già smaliziati con il linguaggio quindi quanto scritto sotto dovrebbe essere ben chiaro ;P

require 'bgbot.php';
 
$wiki = 'it';
$user = 'iltuousername';
$pass = 'latuapassowrd';
$sleep_time = 120; // riposa 120 secondi tra gli edit
$bot = new Bgbot($wiki, $user, $pass);
 
$page = "Wikipedia:Pagina delle prove"; //nome della voce che desiderate modificare
 
	if ( $bot->edit($page, $wiki, false) ) {
		$content = $bot->page_content;
 
		//eseguo le modifiche al contenuto della pagina
		$content .= '\nFunziona!';
 
		$summary = 'Giusto per vedere se vado...'; //oggetto della modifica
		$bot->submit($content, $summary, $wiki);
	}
 
//Se invece le pagine sono più di una posso usare questo codice:
 
$pages = array('page_1', 'page_2', 'page_3');
 
foreach ($pages as $page) {
	if ( $bot->edit($page, $wiki, false) ) {
	$content = $bot->page_content;
	// do something to $content
	$summary = 'my summary for this edit';
	$bot->submit($content, $summary, $wiki);
	sleep($sleep_time);
	}
}
Personal tools