Wikipedysta:MiszaBot/Jak
Z Wikipedii
Uwaga wstępna: Bot niniejszy potrafi archiwizować tylko strony w postaci nagłówek + wątki ==drugiego poziomu==. Nie obsługuje stron, w których wątki są na niższym poziomie lub pogrupowane np. dniami ich rozpoczęcia (jak na WP:TO).
- Bot uruchamia się automatycznie (cron) codziennie o 21:30 czasu polskiego.
Spis treści |
[edytuj] Jak ustawić automatyczną archiwizację?
Umieść następujący szablon na stronie, która ma być automatycznie archiwizowana:
{{Wikipedysta:MiszaBot/config |algo = old(...) |archive = Nazwa strony-archiwum [inne parametery - patrz niżej] }}
[edytuj] Szybkie przykłady
Żeby załąpać o co chodzi - konfiguracja może nie jest intuicyjna, ale za to elastyczna i rozszerzalna.
- Pamiętaj żeby zmienić "Dyskusja wikipedysty:Kowalski" w przykładach!
[edytuj] Przykład 1 - archiwum statyczne
{{Wikipedysta:MiszaBot/config |algo = old(7d) |archive = Dyskusja wikipedysty:Kowalski/Archiwa }}
To najprostsze ustawienie kopiuje z Dyskusja wikipedysty:Kowalski do Dyskusja wikipedysty:Kowalski/Archiwa wątki, które staną się starsze niż 7 dni (licząc od najnowszego znacznika). Archiwum będzie rosło nieograniczenie. Nie jest to pewnie najużyteczniejsza konfiguracja (chyba że do kopiowania wątków do okresowo czyszczonego śmietnika), ale jest najprostsza, więc wymieniam ją na wstępie.
[edytuj] Przykład 2 - archiwum licznikowe ("inkrementalne")
{{Wikipedysta:MiszaBot/config |algo = old(48h) |archive = Dyskusja wikipedysty:Kowalski/Archiwum %(counter)d |counter = 3 |maxarchivesize = 250K }}
To ustawienie nakazuje botowi przenosić wątki z Dyskusja wikipedysty:Kowalski do archiwum Dyskusja wikipedysty:Kowalski/Archiwum 3 (więcej o zmiennych można poczytać poniżej) aż wypełni się ono do 250 kilobajtów, kiedy to bot przeniesie się do 4 (aktualizując przy tym licznik przy zapisywaniu strony). Pamiętaj o określeniu maksymalnego rozmiaru archiwum, gdyż w przeciwnym razie bot zachowywałby się jak w przykładzie 1 (ciągle kopiując do /Archiwum 3).
[edytuj] Przykład 3 - archiwa oparte na dacie
{{Wikipedysta:MiszaBot/config |algo = old(5d) |archive = Dyskusja wikipedysty:Kowalski/Archiwa/%(year)d/%(monthname)s }}
Przy takim ustawieniu, wątki starsze niż 5 dni są przenoszone do archiwów w oparciu o ich datę (obliczoną jako najnowszy znacznik znaleziony w wątku). O zmiennych można poczytać poniżej.
[edytuj] Objaśnienie parametrów
parameter | meaning |
---|---|
archive | Nazwa archiwum, do którego mają być przenoszone wątki. Obsługuje zmienne. |
algo | Algorytm, którym kieruje się bot decydując, czy wątek ma być zarchiwizowany. W przyszłości będzie obsługiwał złożone formuły (włączając w to wyszukiwanie po wyrażeniach regularnych), ale na razie musi on być postaci old(...), gdzie ... określa maksymalny wiek wątku (w godzinach lub dniach: 24h, 72h, 5d, 21d itp.) |
counter | Aktualna wartość licznika. Jeżeli użyta zmienna %(counter)d nie jest nigdzie użyta, jest ignorowany. Bot będzie w miarę potrzeby aktualizował wartość licznika. |
maxarchivesize | Określa maksymalny rozmiar archiwum. Parametr ignorowany, jeżeli licznik nie jest wykorzystywany. |
minthreadsleft | Minimalna ilość wątków do pozostawienia na stronie (zapobiega czyszczeniu stron "do zera"). Wartość domyślna: 5 |
minthreadstoarchive | Minimalna ilość wątków do zarchiwizowania za jednym razem (zmniejsza częstotliwość edycji danej strony odmawiając działania w danym przebiegu gdy miało by zostać zarchiwizowanych mało wątków). Wartość domyślna: 2 |
key | Tajny klucz, który (o ile jest poprawny) pozwala na ustawienie jako celu archiwizacji strony nie będącej podstroną. Aby uzyskać taki klucz, poproś mnie i miej ku temu dobry powód. :-) |
[edytuj] Zmienne
zmienna | wartość |
---|---|
%(counter)d | bieżąca wartość licznika counter |
%(year)d | rok wątku, który podlega archiwizacji |
%(month)d | miesiąc (jako liczba 1-12) wątku, który podlega archiwizacji |
%(monthname)s | Polska nazwa miesiąca wątku podlegającego archiwizacji |
%(monthnameshort)s | pierwsze 3 litery poprzedniej zmiennej |
Ci, którzy znają się na Pythonie, pewnie już rozpoznają zmienne i domyślają się że bot używa operatora % aby obliczyć parametry archiwizacji; powinni też być w stanie dostosować formatowanie. Kilka wskazówek dla pozostałych:
- upewnij się, że ostatnia litera po nawiasach jest poprawna ("d" dla liczb całkowitych i "s" dla ciągów znaków)
- zmienne całkowitoliczbowe (licznik, numer miesiąca) mogą być wypełnione z lewej zerami:
- %(counter)03d ma wartość 013 jeżeli counter ma wartość 13,
- %(month)02d staje się 05 dla wątków z maja itd.