Piratenwiki:Bots

Aus Piratenwiki Mirror
Version vom 21. Februar 2013, 00:47 Uhr von imported>Jamasi (→‎Bot betreiben: + opt out für besondere seiten.)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen
25px Dieser Artikel behandelt bots im Piratenwiki, für IRC Bots, siehe AG Chat/IRC/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

Links: Homepage, Tutorial

Zu erst oben stehendes beachten!

  1. Python muss installiert sein.
  2. Neueste Version downloaden:
svn co http://svn.wikimedia.org/svnroot/pywikipedia/trunk/pywikipedia pywikipedia
  1. Datei ./families/piratenwiki_family.py erstellen mit dem Inhalt von hier (seit Revision 10549 nicht mehr nötig)
  2. Datei user-config.py erstellen mit folgendem Inhalt:
# -*- coding: utf-8  -*-
family = 'piratenwiki'
mylang = 'de'
usernames['piratenwiki']['de'] = u'<dein Bot name>'
  1. 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>'
  1. Einloggen in Projekt mit "python login.py" - muss nach jedem Neustart wiederholt werden.
  2. 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

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