Commons:Bots
Shortcuts: COM:BOTS • COM:BOT • COM:B
Was ist ein Bot?
Ein Bot (Roboter) ist ein Programm, das regelmäßige Aufgaben automatisch ausführt, deren manuelles Abarbeiten zu mühsam wäre. Die meisten Bots bearbeiten sehr begrenzte Aufgaben, wobei es sich meistens um Aufräumarbeiten handelt. Einige Bots laufen auf dem Toolforge-Server, sie können aber auch auf einem lokalen Rechner des Entwicklers laufen.
Berechtigung zum Betreiben eines Bots
Alle Bots, die auf Wikimedia Commons laufen, müssen dazu vorab eine Berechtigung haben. Diese Berechtigung ist immer nötig, unabhängig davon, ob der Bot ein Bot-Flag braucht.
Eine Berechtigung wird ausschließlich für die Aufgaben vergeben, die in der Bot-Anfrage aufgelistet wurden (wobei die Aufgaben relativ allgemein sein können, wie z.B. „Hochladen von Bildern“ oder „Aktualisieren von Lokalisierungen in der Informations-Vorlage“). Bots dürfen nicht für abweichende Aufgaben benutzt werden, für die keine Berechtigung erteilt wurde. Natürlich wird nicht für jede kleinere Änderung jedes Mal ein Neuantrag des Bot-Betreibers erwartet; aber wenn die Bot-Funktionalität eine wesentlich neue Aufgabe ausführt, sollte dazu ein neuer Antrag gestellt werden. Zum Beantragen einer Berechtigung zum Bot-Betrieb wende dich bitte an: Commons:Bots/Requests.
Benutzerkonten für Bots
Bots müssen über ein separates Benutzerkonto betrieben werden, also ein anderes Konto als das normale Benutzerkonto des Bot-Betreibers.
Zur Unterscheidung des Bot-Benutzerkontos von einem normalen Konto sollte der Benutzername normalerweise das Wort „Bot“ enthalten.
Für die Beiträge eines Bot-Benutzerkontos bleibt der Bot-Betreiber verantwortlich, der an auffälliger Stelle der Bot-Benutzerseite aufgeführt sein muss.
Von Hochlade-Bots wird erwartet, dass sie korrekte Lizenz-Informationen eintragen und auch zu jeder Datei mindestens eine Kategorie angeben, die deren Inhalt oder Funktion beschreibt. Der Bot-Betreiber ist dafür verantwortlich, dass jeder durch seinen fehlerhaft arbeitenden Bot verursachte Schaden unverzüglich repariert wird. Jeder Bot-Betreiber muss sicherstellen, dass er für Benutzeranfragen zu seinem Bot zur Verfügung steht und dass er zeitnah jeden festgestellten Fehler behebt. Bot-Betreiber sind dazu angehalten, eine sichere Anmeldemethode zu verwenden.
Bot-Benutzerkonten sollten nicht für Beiträge benutzt werden, die nicht in den Bereich der offiziell vorgesehenen Bot-Aufgaben fallen. Insbesondere sollte der Bot-Betreiber das Bot-Konto nicht dazu benutzen, auf den Bot betreffende Nachrichten zu antworten. Bot-Betreiber können eine Umleitung der Diskussionsseite ihres Bot-Benutzerkontos auf ihre eigene Diskussionsseite einrichten.
Halbautomatische Hilfsprogramme (z.B. in JavaScript) werden normalerweise nicht als Bots angesehen und benötigen daher kein separates Benutzerkonto. Aber einige Benutzer ziehen es vor, für Nicht-Bot- aber Hochgeschwindigkeits- Beiträge ein separates Konto zu verwenden.
Informationen über Bots
Die Bot-Benutzerseite sollte mit der eindeutigen Kennzeichnung als Bot beginnen – vorzugsweise durch einfaches Einfügen der Vorlage {{Bot}}.
Die folgenden Informationen sollten danach übersichtlich auf der Benutzerseite erscheinen (oder über einen direkten Link auf einer separaten Seite abrufbar sein).
Stell bitte sicher, dass alle diese Informationen aufgelistet werden, bevor du eine Bot-Berechtigung beantragst.
- Wer ist der Entwickler/Betreiber des Bots und wie wird er am besten kontaktiert?
- Details zu der oder den Aufgabe(n) des Bots?
- Wird der Bot manuell angestoßen oder läuft er automatisch?
- Wann arbeitet der Bot? (kontinuierlich, periodisch oder in speziellen Intervallen)
- Maximale Bearbeitungsrate des Bots? (z.B. Anzahl der Bearbeitungen pro Minute)
- Programmiersprache und/oder Programmname, das als Bot ausgeführt wird?
Geschwindigkeit von Bots
Bot-Betreiber sollten berücksichtigen, dass ein Bot, der mit hoher Geschwindigkeit viele Abfragen oder Änderungen ausführt, betroffene Server sehr viel mehr auslastet, als ein menschlicher Beitragender. Bots sollten deshalb eher mit gedrosselter Geschwindigkeit arbeiten.
Bei nicht dringlichen Aufgaben sollte der Bot höchstens alle 5 Sekunden eine Änderung ausführen. Bots mit dringenden Aufgaben – zum Beispiel zur Beseitigung von Vandalismus – können schneller arbeiten.
Außerdem sollten Bots ohne Bot-Flag langsamer arbeiten als markierte Bots, weil ihre Änderungen in Beobachtungslisten erscheinen und in den Meldungen der Hochgeschwindigkeits-Änderungen andere Benutzer-Meldungen leicht übersehen werden können.
Das Bot-Flag
Einige – aber nicht alle – Bots können mit dem Bot-Flag markiert werden. Das hat den Effekt, dass alle Änderungen eines solchen Bots in folgenden Log-Listen nicht angezeigt werden:
- Beobachtungslisten der Benutzer
- Letzte Änderungen
- Neue Bilder Damit wird verhindert, dass diese Listen mit Bot-Änderungsmeldungen überflutet werden, insbesondere bei Bots, die eine Vielzahl an Änderungen und/oder Uploads in kurzer Zeit vornehmen. Das Botflag kann als Resultat von Inaktivität entfernt werden.
Das Bot-Flag muss man als ein Merkmal großen Vertrauens der Gemeinschaft sehen, dass bei Bot-Änderungen i.d.R. keine manuelle Überprüfung nötig ist.
Sperren von Bots
Jeder Administrator darf einen Bot - ohne Autoblock-Option - sperren, der offensichtlich fehlerhaft arbeitet. Die Sperrung erfolgt, wenn der Bot-Betreiber nicht unverzüglich kontaktiert werden kann, um das betreffende Problem zu beheben.
Grundsätzlich kann jeder nicht genehmigte Bot gesperrt werden. Es ist aber gängige Praxis – bei Bots die keinen Schaden anrichten – vom Bot-Betreiber eine rückwirkende Berechtigung (bot request) anzufordern. Wenn bekannt wird, dass ein Bot für Aufgaben benutzt wird, die wesentlich von der Spezifikation der ursprünglichen Bot-Berechtigung abweichen, sollte der Bot-Betreiber aufgefordert werden, unter Angabe der neuen Aufgaben eine erneute Berechtigung zu beantragen.
Benachrichtigungen an Hochlade-Bots
Wenn du Uploads mit deinem Bot ausführst oder deinen Bot anderen Benutzern dazu anbietest, werden alle zugehörigen Nachrichten – zum Beispiel über Löschanträge und ähnliches – auf der Diskussionsseite deines Bots bzw. bei einer Umleitung auf deiner Benutzerseite gepostet. Wenn aber die anderen Bot-Benutzer diese Meldungen erhalten sollen oder gar keine Benachrichtigungen an die Diskussionsseite deines Bots versandt werden sollen, solltest du deinen Bot ordnungsgemäß in der Liste MediaWiki:Gadget-libCommons.js eintragen. Oder fordere dazu einen Experten auf, indem du {{Edit request}}
auf dieser MediaWiki-Diskussionsseite einträgst und dort zusätzlich auf folgenden Absatz verlinkst: [[Commons:Bots/de#Notifications to upload bots]]
.
Software-Bibliotheken für Bots
Bots kannst du in fast jeder Programmiersprache schreiben. Die Sprachwahl hängt oft von der Erfahrung der Bot-Programmierer, ihren Sprachkenntnissen oder verfügbaren Programmbibliotheken ab. Die folgende Liste enthält einige Bibliotheken, die bei Bot-Aufgaben helfen.
- Wiki.java (Java)
- DotNetWikiBot (C#)
- Pywikibot (Python)
- MediaWiki::Bot (Perl)
- Peachy (PHP)
- AddWiki (PHP)
- WikiapiJS (NodeJS) – JavaScript-Modul zur Nutzung der MediaWiki-API mit einem einfachen Wikitext-Parser, unter Verwendung des CeJS[clarification needed] MediaWiki-Moduls. Siehe die Wikipedia Bot-Beispiele on GitHub.
Nützliche Bots und deren Dienste
- ArchiverBot - zur automatischen Archivierung von Diskussionsseiten.
- SpBot - zur automatischen Archivierung von Diskussionsseiten.
- CommonsDelinker - kann beauftragt werden, generell Bilder zu ersetzen oder aber Kategorien hinzuzufügen oder umzubenennen.
- Rotatebot rotieren von Bildern, deren Seite die Vorlage {{Rotate}} enthält.
Aktive Bots |
---|
Active bots
Service bots Providing services on request to any user, via a standard request system
Extensions
File upload
Maintenance
User assistants
|