Piratenwiki:Bots
Bots sind userseitig laufende Programme, welche diverse monotone Arbeiten im Piratenwiki per API automatisch machen.
Seiten vor Bots schützen
Bots sollten keine Seiten bearbeiten, welcher der Kategorie:Botverbot angehören. Wenn du eine Seite schützen möchtest, weil sie z.B. nur per Parteitagsbeschluss änderbar sein soll, so füge bitte [[Kategorie:Botverbot]] zu der Seite hinzu.
Bot betreiben
- Für den Bot unbedingt ein eigenes Benutzerkonto anlegen.
- Auf der Benutzerseite und der Benutzer-Diskussionsseite anmerken das es ein Bot ist und wer ihn betreibt.
- Bei den Einstellungen des Bot-Accounts das Skin auf monobook umstellen.
- Einen Bürokraten bitten dem Useraccount des Bots Bot-Rechte zu geben.
- Für manche Tätigkeiten benötigt der Useraccount des Bots zusätzlich admin-Rechte. Bei solchen Bots ist erhöhte Vorsicht geboten.
- Anfangs immer erst ausprobieren und auf Fehler überprüfen
- Nicht zu den Spitzenlast-Zeiten des Wikis betreiben und Geschwindigkeit des Bots drosseln.
- Am einfachsten kann man einen Bot mit der Python-Software "pywikipedia" betreiben. Daneben gibt es aber auch Java, C#, PHP, Pearl und Ruby-Schnittstellen.
Pywikipedia
Zu erst oben stehendes beachten!
- Python muss installiert sein.
- Neueste Version downloaden:
svn co http://svn.wikimedia.org/svnroot/pywikipedia/trunk/pywikipedia pywikipedia
- Datei ./families/piratenwiki_family.py erstellen mit dem Inhalt von hier (seit Revision 10549 nicht mehr nötig)
- Datei user-config.py erstellen mit folgendem Inhalt:
# -*- coding: utf-8 -*- family = 'piratenwiki' mylang = 'de' usernames['piratenwiki']['de'] = u'<dein Bot name>'
- Wenn es sich um einen Bot mit admin Rechte hat, muss die letzte Zeile hingegen wie folgt heißen:
sysopnames['piratenwiki']['de'] = u'<dein Bot name>'
- Einloggen in Projekt mit "python login.py" - muss nach jedem Neustart wiederholt werden.
- Start des gewünschten Scripts.
Verfügbare Skripte
Die folgenden fertigen Skripte sind für Pywikipedia derzeit verfügbar.
capitalize_redirects.py | Script to create a redirect of capitalize articles. |
casechecker.py | Script to enumerate all pages in the wikipedia and
find all titles with mixed Latin and Cyrillic alphabets. |
category.py | add a category link to all pages mentioned on a page,
change or remove category tags |
category_redirect.py | Maintain category redirects and replace links to
redirected categories. |
catall.py | Add or change categories on a number of pages. |
catmove.pl | Need Perl programming language for this; takes a list
of category moves or removes to make and uses category.py. |
clean_sandbox.py | This bot makes the cleaned of the page of tests. |
commons_link.py | This robot include commons template to linking Commons
and your wiki project. |
copyright.py | This robot check copyright text in Google, Yahoo! and
Live Search. |
cosmetic_changes.py | Can do slight modifications to a wiki page source code
such that the code looks cleaner. |
delete.py | This script can be used to delete pages en masse. |
disambredir.py | Changing redirect names in disambiguation pages. |
featured.py | A robot to check feature articles. |
fixes.py | This is not a bot, perform one of the predefined
replacements tasks, used for "replace.py -fix||replacement". |
image.py | This script can be used to change one image to another
or remove an image entirely. |
imagetransfer.py | Given a wiki page, check the interwiki links for
images, and let the user choose among them for images to upload. |
inline_images.py | This bot looks for images that are linked inline
(i.e., they are hosted from an external server and hotlinked). |
interwiki.py | A robot to check interwiki links on all pages (or
a range of pages) of a wiki. |
interwiki_graph.py | Possible create graph with interwiki.py. |
imageharvest.py | Bot for getting multiple images from an external site. |
isbn.py | Bot to convert all ISBN-10 codes to the ISBN-13
format. |
makecat.py | Given an existing or new category, find pages for that
category. |
movepages.py | Bot page moves to another title. |
nowcommons.py | This bot can delete images with NowCommons template. |
pagefromfile.py | This bot takes its input from a file that contains a
number of pages to be put on the wiki. |
piper.py | Pipes article text through external program(s) on
STDIN and collects its STDOUT which is used as the new article text if it differs from the original. |
redirect.py | Fix double redirects and broken redirects. Note
solve_disambiguation also has functions which treat redirects. |
refcheck.py | This script checks references to see if they are
properly formatted. |
replace.py | Search articles for a text and replace it by another
text. Both text are set in two configurable text files. The bot can either work on a set of given pages or crawl an SQL dump. |
saveHTML.py | Downloads the HTML-pages of articles and images. |
selflink.py | This bot goes over multiple pages of the home wiki,
searches for selflinks, and allows removing them. |
solve_disambiguation.py | Interactive robot doing disambiguation. |
speedy_delete.py | This bot load a list of pages from the category of
candidates for speedy deletion and give the user an interactive prompt to decide whether each should be deleted or not. |
spellcheck.py | This bot spellchecks wiki pages. |
standardize_interwiki.py | A robot that downloads a page, and reformats the
interwiki links in a standard way (i.e. move all of them to the bottom or the top, with the same separator, in the right order). |
standardize_notes.py | Converts external links and notes/references to |
Footnote3 ref/note format. Rewrites References. | |
table2wiki.py | Semi-automatic converting HTML-tables to wiki-tables. |
templatecount.py | Display the list of pages transcluding a given list
of templates. |
template.py | change one template (that is {{...}}) into another. |
touch.py | Bot goes over all pages of the home wiki, and edits
them without changing. |
unlink.py | This bot unlinks a page on every page that links to it. |
unusedfiles.py | Bot appends some text to all unused images and other
text to the respective uploaders. |
upload.py | upload an image to a wiki. |
us-states.py | A robot to add redirects to cities for US state
abbreviations. |
warnfile.py | A robot that parses a warning file created by
interwiki.py on another language wiki, and implements the suggested changes without verifying them. |
weblinkchecker.py | Check if external links are still working. |
welcome.py | Script to welcome new users. |
windows_chars.py | Change characters that are not part of Latin-1 into
something harmless. It is advisable to do this on Latin-1 wikis before switching to UTF-8. |
Selbst ein Skript schreiben
Man kann sich natürlich auch selbst ein Script für Pywikipedia schreiben.
- folgt noch....
Derzeit verwendete Bots
Alle Bots gibts unter Spezial:Benutzer&group=bot
Fixbot
- Betreiber: Jamasi
- Software: python PYwikipedia
- Aufgabe: Ein Bot für Notfall-fixes seitens des Wikihost-Teams
Darkwindbot
- Betreiber: Darkwind
- Software: python PYwikipedia (gemodded), php Mediawiki:API
- Aufgabe: Wartung von Seiten, beseitigen von doppelten Weiterleitungen
Nrwkalenderbot
- Betreiber: Darkwind für den LV NRW
- Software: php Mediawiki:API, eigenentwickelter Protokollscanner
- Aufgabe: Liest alle Seiten unterhalb der Kategorie:API:Kalender:NRW und erkennt die Daten für die nächsten Sitzungstermine und exportiert diese dann in einen ICS-basierten Kalender
StummiBot
- Betreiber: Stummi
- Software: Selbstgebasteltes Java-Framework
- Aufgabe: Mädchen für alles, Was halt grad so anfällt. Jeder kann auf meiner Diskussionsseite Anfragen stellen, wenn etwas gemacht werden muss.
MBot
- Betreiber: Michi
- Software: Pywikipedia
- Aufgabe: Diverse Wartungsarbeiten
Drahflow's Bot
- Betreiber: Drahflow
- Software: Perl-Eigenbau auf dem MediaWiki.pm Modul
- Aufgabe: (Um)Kategorisierung, Weiterleitungselimination, alles was ich sonst so will.
NetAndroid's Bot
- Betreiber: NetAndroid
- Software: pywikipedia
- Aufgabe: Diverse Aufräumarbeiten
NumberFive
- Betreiber: Rico 'mc' Gloeckner
- Software: Ruby, Voll einsehbar ueber Github (siehe Nutzerseite)
- Aufgabe: automatische Löschen nach 14 Tagen dazu ist NumberFive Admin
- Cronjob: laeuft nachts um 3:30 los
CalBot
- Betreiber: uk
- Software: Perl + MediaWiki::API
- Aufgabe: Termin-Management LV Brandenburg
PPH-Padbot
- Betreiber: Prauscher
- Software: PHP
- Aufgabe: Automatisches Warten von HE:Pads anhand von neuen Posts auf der Mailingliste.
Hessen-Bot
- Betreiber: nowrap
- Software: PHP (Wikimate / Drupal)
- Aufgaben:
- Tägliches Update der hess. Website Stats um 2 Uhr nachts
- Automatisches Update der hess. Mailinglisten Abonnentenzahlen durch ein Drupal-Modul