Jak używać botów
From Meta, a Wikimedia project coordination wiki
In other languages: en - es - fa - fr - hu - it - ja - ko - nl - pl - pt - ru - sv - zh-hant
Szablon Python Wikipediabot jest zestawem skryptów do wprowadzania zmian w Wikipedii lub innym projekcie Metawiki. Został napisany przez kilka osób z użyciem języka Python. Na tej stronie podajemy ogólną informację dla osób chcących korzystać z programów bot.
Contents |
[edit] Pobieranie
Aby użyć bota należy ściągnąć oprogramowanie bot oraz Pythona w wersji 2.3 lub wyższej.
Python jest obecnie dostępny na niektórych dystrybucjach Uniksa i nie musi być wtedy doinstalowany (choć może zajść konieczność uaktualnienia programu jeśli masz bardzo starą wersję). W przeciwnym razie, możesz go znaleźć na http://www.python.org/download/. Python działa na wszystkich powszechnych systemach (Unix, Linux, Mac, Windows). Ściągnij i zainstaluj Pythona.
Samo oprogramowanie bot jest dostępne na Sourceforge. Ze strony http://sourceforge.net/projects/pywikipediabot/ możesz ściągnąć je w archiwum, jednak jest to zwykle wersja przestarzała. Znacznie świeższa wersja (co najwyżej 24-godzinna) może być ściągnięta przy pomocy SVN (lub "ręcznie" (każdy plik z osobna) ze strony http://svn.wikimedia.org/svnroot/pywikipedia/trunk/pywikipedia/ jeśli nie masz zainstalowanego żadnego klienta SVN. Na dłuższą metę wskazane jest jednak użyć SVN-a). Dla użytkowników Windows zalecany jest TortoiseSVN [1]. Żeby sprawdzić bota z linii poleceń Uniksa należy użyć następujących poleceń:
$ svn co http://svn.wikimedia.org/svnroot/pywikipedia/trunk/pywikipedia pywikipedia
Przy uaktualnieniach: zmień katalog (chdir) na pywikipedia i wpisz
$ svn update
- Jeśli zmieniłeś bota i chcesz wysłać patcha do dostawcy oprogramowania,
- uaktualnij obecną wersję (to połączy Twoje zmiany z poprawkami już umieszczonymi w SVN Repository),
- rozwiąż wszelkie konflikty spowodowane uaktualnieniem (np. użyj narzędzia grep do wyszukania "=====") i
- wpisz:
$ svn diff > svn.diff
- Wtedy możesz wysłać plik svn.diff dostawcy i poprosić o wprowadzenie zmian (być może będziesz jeszcze chciał przejrzeć diff przed wysłaniem). Linie na początku zaczynające się "?" możesz usunąć.
Jeśli masz już oprogramowanie bot, wszystko, co musisz zrobić to umieścić je gdzieś na swoim komputerze, nie wymaga ono dalszej instalacji.
Jeśli zamierzasz używać bota, warto jest zasubskrybować bot-newslettera (zobacz [2]). Za każdym razem, gdy wprowadzane są zmiany do oprogramowania bota, wysyłany jest do Ciebie mail, więc wiesz kiedy powinieneś uaktualnić go do nowej wersji.
Lista jest dostępną również w archiwum GMANE.
[edit] Przygotowanie
Upewnij się, że Twój bot jest zatwierdzony przez społeczność wiki na której zamierzasz go użyć. Dokładne wymogi znacząco się różnią pomiędzy różnymi projektami; na niektórych musisz zgłosić bota i uzyskać zgodę zanim zaczniesz pracę, na innych z kolei możesz robić, co tylko chcesz.
Używając zwykłej przeglądarki, utwórz nazwę i hasło dla swojego bota. Najlepiej użyć nazwy jasno mówiącej, że jest to bot, a najlepiej by mówiła również, kto nim steruje. Powszechnie przyjęte jest dodawanie słowa 'bot' do własnego loginu, ale istnieje również kilka innych form.
- Na angielskiej wikipedii, boty są dozwolone tylko wtedy, gdy zostaną wpisane na en:Wikipedia:Bots. Zwróć uwagę, że nie ma zgody na używanie bota interwiki na angielskiej wikipedii:!
Upewnij się, że konto bota używa skórki MonoBook.
Następnie, w katalogu bota, utwórz plik user-config.py zawierający linię:
mylang = 'xx'
xx jest kodem języka w którym pracujesz (jeśli chcesz pracować w kilku językach, wybierz najpowszechniejszy, i przeczytaj pywikipediabot general parameters, żeby sprawdzić jak pracować w innych wersjach językowych). Jeżeli NIE pracujesz na Wikipedii to powinieneś również dodać:
family = 'familyname'
gdzie familyname jest nazwą strony na której pracujesz. Obecnie, może to być wiktionary, wikibooks, wikiquote, jak również kilka projektów spoza rodziny Wikimedia jak na przykład Wikitravel i Uncyklopedia. Jeśli używasz WikiMedia Commons, wyszczególnij commons zarówno jako język jak i rodzinę.
Ponadto, Twój user-config.py powinien wymieniać użytkownika bota. Na przykład, jeśli chcesz pracować na szwedzkiej Wikipedii, i stworzyłeś konto bota z nazwą "ExampleBot", dodaj tę linię:
usernames['wikipedia']['sv'] = 'ExampleBot'
Jeśli używasz więcej niż jednej wiki, możesz wymienić kilka nazw, np.
usernames['wikipedia']['de'] = 'BeispielBot' usernames['wikipedia']['en'] = 'ExampleBot' usernames['wikipedia']['pl'] = 'PrzykładowyBot' usernames['wiktionary']['de'] = 'BeispielBot'
Jeśli pracujesz na instalacji mediawiki używającej Unicode i planujesz używać znaków spoza standardowego alfabetu łacińskiego, zapewne zechcesz zmienić kodowanie znaków w Twojej konsoli na UTF-8. Wystarczy że zmienisz w pliku user-config.py linię
console_encoding = 'utf-8'
W ten sposób znaki UTF nie będą widoczne jako pytajniki ("????").
[edit] Wybieranie i uruchamianie skryptu bota
Teraz jesteś gotowy, żeby naprawdę rozpocząć pracę z botem. Powinieneś mieć dostęp do interfejsu tekstowego w Twoim systemie. W Windows wystarczy, że otworzysz menu Start i klikniesz polecenie 'Uruchom'. Jako nazwę programu podaj "cmd.exe".
Przejdź do katalogu, w którym zapisałeś pliki robota (używając polecenia "cd"). Teraz możesz uruchomić każdy ze znajdujących się tu botów po prostu wpisując "python botname.py" (jeśli używasz Windows możesz opuścić "python").
Zanim zabierzesz się do właściwej pracy, uruchom skrypt login.py. Gdy zostaniesz zapytany o hasło, wpisz hasła, które użyłeś do loginu bota. Bot nie może pracować anonimowo. Jeśli nie zmienisz hasła to nie będziesz już więcej musiał uruchamiać tego programu, ponieważ bot zwykle się nie wylogowuje.
A teraz? Teraz możesz użyć jednego ze skryptów bota. Poniżej znajduje się lista istniejących botów razem z linkami do ich opisów:
Główne skrypty botów:
- category.py
- check_extern.py
- imagetransfer.py
- interwiki.py
- redirect.py
- replace.py
- solve_disambiguation.py
- table2wiki.py
- template.py
- upload.py
- weblinkchecker.py
Pozostałe skrypty botów:
- catall.py
- editarticle.py
- getimages.py
- imageharvest.py
- pagelist.py
- standardize_interwiki.py
- standardize_notes.py
- touch.py
- warnfile.py
Programy pomocnicze:
[edit] Argumenty linii poleceń skryptu bota
Chociaż wiele skryptów botów ma swoje własne komendy linii poleceń, które powinny być udokumentowane na właściwych stronach (lub w kodzie źródłowym), to wszystkie boty (chyba że dokumentacja podaje inaczej) rozpoznają poniższe argumenty:
- -help
- Wyświetla listę ogólnodostępnych argumentów botów (tę listę), a także właściwą dla każdego bota pomoc (jeśli takowa istnieje).
- -lang:xx
- Ustawia język wiki na której chcesz pracować na
xx, zastępując ustawienia zuser-config.py. - -family:xyz
- Ustawia rodzinę wiki na której chcesz pracować, np. wikipedia, wiktionary, wikitravel, ... To polecenie zastępuje wpis z
user-config.py. - -log
- Włącza plik dziennika. Dzienniki będą przechowywane w katalogu logs.
- -log:xyz
- Włącza plik dziennika używając
xyzjako nazwę pliku. - -nolog
- Wyłącza plik dziennika (jeśli jest domyślnie włączony).
- -putthrottle:nn
- Ustawia minimalny czas (w sekundach), który bot odczeka przed zapisaniem strony.
Np. python nazwa_skryptu.py -family:wiktionary uruchomi skrypt bota "nazwa_skryptu" na artykułach wiktionary, zastępując domyślne ustawienia rodziny Twojej konfiguracji.
[edit] Rejestrowanie bota
Jeżeli będziesz mocno wykorzystywał bota, to zacznie on zaśmiecać Historię zmian. Aby tego uniknąć możesz zarejestrować swojego bota jako takiego. W tym wypadku nie będzie on pokazywany w Historii zmian chyba, że użytkownik zażąda by był on tam umieszczony.
Można to zrobić dzięki stewardowi lub biurokracie. Możesz umieścić prośbę o zarejestrowanie bota (własnego lub czyjegoś) na Requests for bot status. Prawdopodobnie będziesz poproszony o dowód, że Twoja społeczność wiki zgadza się na wykorzystanie bota.
- Na angielskiej wikipedii, prośby powinny być wysłane na Requests for approvals. Warto zarejestrować swojego bota, jeżeli będzie on edytował wiele stron za jednym razem.
[edit] Zaawansowane użycie bota
Jeśli wymyśliłeś funkcję, której żaden bot jeszcze nie obsługuje, a którą chciałbyś mieć, możesz zwrócić się do jednego z programistów by ją dla Ciebie napisał. Możesz również samemu spróbować popracować nad botem. Python jest przyjemnym językiem i niezbyt trudnym do nauczenia się. Będziesz mile widziany.
[edit] Używanie bota na własnym projekcie mediawiki
Patrz tutaj (en), żeby dowiedzieć się jak skonfigurować bota tak, by użyć go na własnym projekcie typu mediawiki.
[edit] Pisanie własnego bota
Oto kilka bardzo prostych porad, żeby móc pisać własnego bota:
- upewnij się, że ustawiłeś swój plik konfiguracyjny user-config.py (patrzy wyżej)
- użyj
import wikipediaaby uzyskać dostępu do struktur pywikipedia - aby odzyskać stronę, użyj poniższego (gdzie pageName to np. "Wikipedia:Bots" lub "India":
site = wikipedia.getSite() page = wikipedia.Page(site, pageName) text = page.get()
- aby uaktualnić stronę użyj:
page.put(newText)
- oglądaj pliki pywikipedii i szukaj nowych pomysłów – replace.py jest stosunkowo łatwy do czytania nawet jeśli jesteś początkujący na pywikipedii.
- możesz znaleźć wszystkie dostępne Page methods w pliku wikipedia.py.

