Co takiego jest bot?
Bot jest to specjalny program komputerowy, który używa dodatkowego konta jakiegoś Wikipedysty. Taki program może wykonywać różne automatyczne działania w Wikipedii, najczęściej jakieś automatyzacje np. globalne poprawki w artykułach lub jakieś konkretne działania edycyjne.
W tym artykule opiszę jak stworzyć prostego bota przy użyciu języka programowania Python.
Instalacja Pythona
Pierwsza rzecz to instalacja Pythona, najlepiej jest wyszukać w Google "jak zainstalować pythona" oraz nasz system operacyjny. Instalacja będzie się różnić między Windowsem, MacOS oraz Linux.
Pod systemami Linux dodatkowo należy zainstalować PIP, czyli manager paczek Pythona.
Biblioteka pywikibot
Po instalacji Pythona i PIP należy zainstalować paczkę pywikibot jest to biblioteka, za pomocą której można automatyzować działania w Wikipedii. W tym celu w terminalu należy wynikać polecenie:
pip install pywikibot Dlaczego warto korzystać z pywikibot?
API MediaWiki (silnika napędzającego Wikipedię) jest bardzo rygorystyczne. Jednym z kluczowych wymogów bezpieczeństwa jest przesyłanie unikalnego i poprawnego nagłówka User-Agent przy każdym zapytaniu HTTP. Dzięki temu administratorzy wiedzą, jaki bot generuje ruch.
Wielką zaletą pywikibot jest to, że obsługuje nagłówek User-Agent w pełni automatycznie. Framework sam generuje go na podstawie Twojego pliku konfiguracyjnego, łącząc nazwę bota z wersją biblioteki. Dzięki temu nie musisz ręcznie konfigurować sesji HTTP ani martwić się o niespodziewane blokady adresu IP ze strony serwerów Wikimedia.
Drugą rzeczą jest rate limit, które biblioteka ogarnia.
Tworzenie hasła dla bota
Korzystając z biblioteki pywikibot, można zalogować się do swojego konta za pomocą hasła do Wikipedii, ale w przypadku botów, nie jest do za bardzo bezpieczne.
A gdy, tak jak w moim przypadku, masz ustawione podwójne uwierzytelnianie, nie będzie to możliwe.
Dlatego w Wikipedii jest możliwość stworzenia specjalnego hasła dla bota. Coś podobnego do API Key w różnego rodzaju usługach.
Wchodzimy na stronę: Specjalna:Hasła_botów
i dodajemy nowe hasło:
formularz dodawania hasła bota
klikamy „utwórz” i wybieramy uprawnienia:
uprawnienia bota z zaznaczonymi uprawnieniami do edycji i tworzenia stron
Po wybraniu uprawnień dodawania i edycji stron, na dole strony klikamy „utwórz”:
nowe wygenerowane hasło bota
Po utworzeniu powinno się pojawić losowe hasło, zapisz je sobie, będziemy go używać za chwilę.
Bot Hello World przez API
Najprostsze użycie biblioteki pywikibot, która doda nową stronę do Wikipedii w twojej przestrzeni użytkownika wygląda tak.
import pywikibot
def main():
# 1. Inicjalizacja połączenia z polską Wikipedią (używa user-config.py)
site = pywikibot.Site('pl', 'wikipedia')
# 2. Wskazanie konkretnej strony w Twoim brudnopisie
page = pywikibot.Page(site, 'Wikipedysta:Jcubic/HelloBot')
# 3. skrypt
if page.exists():
print("Błąd: Podana strona testowa już istnieje!")
return
# 4. Dodanie nowego tekstu
page.text = "Witaj, Wikipedio!"
# 5. Zapisanie zmodyfikowanej strony z opisem zmian
page.save(
summary="[WikiZEIT Test] Pierwsze uruchomienie bota Hello World przez API",
minor=True
)
print("Sukces! Strona została utworzona.")
if __name__ == '__main__':
main() pywikibot.Site()- zwraca obiekt. który umożliwia dostęp do danego projektu.pywikibot.Page()- zwraca obiekt konkretnej strony, strona nie musi istnieć.page.exists()- sprawdza, czy strona istnieje.page.text- to accessor, który zawiera tekst strony.page.save()- zapisuje stronę.
Logowanie do Wikipedii
Aby nasz bot mógł się zalogować do Wikipedii należy utworzyć plik user-config.py
Jego zawartość powinna wyglądać tak:
family = 'wikipedia'
mylang = 'pl'
usernames['wikipedia']['pl'] = 'jcubic' # tutaj wstaw swój nick
password_file = 'user-password.py' Plik user-password.py powinien zawierać krotkę, która wygląda tak:
('Jcubic', BotPassword('Hello-World', 'r4qli70elje53e48s8lqf4oddnmrjjer')) Oczywiście musisz wpisać swoje własne hasło bota.
Teraz możemy uruchomić nasz skrypt, wynikiem powinno być coś takiego:
Logging in to wikipedia:pl as Jcubic@Hello-World
Sleeping for 7.4 seconds, 2026-06-07 21:52:31
Page [[Wikipedysta:Jcubic/HelloBot]] saved
Sukces! Strona została utworzona. Wchodzą na Wikipedię i zaglądając do naszych edycji na stronie Specjalna:Wkład/Jcubic, widzimy edycje bota:
historia edycji z opisem "[WikiZEIT Test] Pierwsze uruchomienie bota Hello World przez API"
A wchodzą na stronę w naszej przestrzeni nazw możemy zobaczyć nasz tekst:
strona Wikipedysta:Jcubic/HelloBot z tekstem Witaj, Wikipedio!
Rejestracja konta bota
Jeśli zamierzasz stworzyć prawdziwego bota, musisz zarejestrować nowe konto dla niego. Jeśli nie chcesz wylogowywać się z Wikipedii, możesz zrobić to w oknie incognito lub otworzyć inną przeglądarkę.
Po założeniu konta, na stronie użytkownika, musimy wpisać informacje że jest to konto bota:
Kod strony użytkownika bota Wikipedysta:WikiZEITBot z opisem jego działania
Powyższy opis dotyczy mojego bota, którego zacząłem tworzyć razem podczas pisania tego artykułu.
Tak wygląda zapisana strona:
Wynikowa zapisana strona z banerem, na początku który mówi, że jest to konto bota
Najważniejsze jest dodanie szablonu
{{Szablon:Bot|Jcubic}} Aby poinformować, że jest to bot.
Legalizacja bota
Następnym wymaganym krokiem jest zgłoszenie naszego bota na stronie Wikipedia:Boty/Zgłoszenia.
Dzięki temu jeden z Biurokratów, doda nam flagi, dzięki którym będziemy mogli używać bota legalnie.
Na stronie ze zgłoszeniami należy kliknąć złóż wniosek:
Instrukcja jak złożyć wniosek dotyczący bota
Wypełnić formularz:
formularz jako kod wiki
Tak wyglądał mój wniosek:
Wynikowy wypełniony formularz z oznaczeniem nowy
Warto obserwować stronę z wnioskami oraz mieć włączone powiadomienia email, gdy obserwowana strona się zmieni.
Co dalej?
Następny krokiem jest napisanie kodu bota, który zrealizuje cel, jaki chcemy osiągnąć. Moim celem jest pomoc przewodnikom w monitorowaniu swoich podopiecznych.
Czym jest Wikimedia Toolforge?
Dobrze jest także uniezależnić bota od własnego komputera. Wikimedia udostępnia specjalne środowisko chmurowe o nazwie Toolforge. Jego celem jest utrzymywanie narzędzi, które pomagają w edycji projektów Wikimediów.
Dzięki temu nasz bot może działać nawet, jak nasz komputer nie jest włączony.
Podsumowanie
Boty to potężne narzędzia, które potrafią w kilka sekund wykonać pracę wymagającą od człowieka wielu dni żmudnego klikania. Należy pamiętać o słowach mędrca: „With great power comes great responsibility”. Automatyzacja edycji na żywym organizmie, jakim jest Wikipedia, niesie za sobą duże ryzyko. Wadliwy kod w pętli może w krótkim czasie uszkodzić setki artykułów, dlatego najlepiej jest testować jego działanie w swoim brudnopisie.
Figurka: Stan Lee - Excelsior!
Informacje na temat mojego bota można znaleźć na tej stronie.