Benutzer:DrTrigonBot/Doku
Nachdem alle folgenden Teile abgearbeitet sind, lege ich mich für 24 Stunden schlafen und beginne dann von Neuem. Weitere Informationen zu techn. Details sind hier dokumentiert.
Diskussions-Zusammenfassung
Funktionsweise (Diskussions-Zusammenfassung)
Schritt:
- Der Bot ruft die Benutzer Liste auf Benutzer:DrTrigonBot/Diene_Mir! ab.
- Für jeden gelisteten Benutzer:
- Setzt der Bot intern die Standard-Werte und überschreibt sie gegebenenfalls mit denen von der Liste.
- Der Bot sucht nach neuen Seiten indem er:
- die Seite Special:Contributions (bzw. die Entsprechung in der API) des Benutzers abruft
- je nach Konfiguration Spezial:Linkliste prüfen nach Seiten die auf Benutzerseiten verweisen (also Signaturen haben)
- all diese Seiten nach folgenden Kriterien prüft und andere Seiten aussortiert (regex):
- Diskussionen:
'.*?Diskussion:.*'
- LK:
'Wikipedia:Löschkandidaten/.*'
- QS:
'Wikipedia:Qualitätssicherung/.*'
- LP:
'Wikipedia:Löschprüfung'
- FzW:
'Wikipedia:Fragen zur Wikipedia'
- Portalseiten:
'Portal:.*'
- Projektseiten:
'Wikipedia:WikiProjekt.*'
- Redaktionsseiten:
'Wikipedia:Redaktion.*'
'Wikipedia:Auskunft'
'Wikipedia:Café'
'Wikipedia:Verbesserungsvorschläge'
'Wikipedia:Tellerrand'
'Wikipedia:Urheberrechtsfragen'
'Wikipedia:Vandalismusmeldung'
'Wikipedia:Administratoren/Anfragen'
'Wikipedia:Administratoren/Notizen'
'Wikipedia:Diskussionen über Bilder'
'Wikipedia:Fotowerkstatt'
'Wikipedia:Bilderwünsche'
'Wikipedia:Grafikwerkstatt'
'Wikipedia:Grafikwerkstatt/Grafikwünsche'
'Wikipedia:Kartenwerkstatt'
'Wikipedia:Kartenwerkstatt/Kartenwünsche'
'Wikipedia:Bots/.*'
'Wikipedia:Redundanz/.*'
- Diskussionen:
- Ergänzt diese Liste mit allen bisherigen Diskussionen (History).
- Es wird der Zeitpunkt der letzten Aenderung (über API) aller dieser Seiten überprüft.
- Nun wird die Relevanz geprüft:
- Wird der User noch in irgendeinem Abschnitt erwähnt (Signatur vorhanden)? Wenn nein ist die Seite unwichtig.
- Wurde der Abschnitt verändert (checksum)? Wenn nein ist die Seite unwichtig.
- Kommt nach der Signatur noch weiterer Text? Wenn nein ist die Seite unwichtig.
- Dies wird für alle Abschnitte wiederholt.
- Je nach dem ob vorhanden werden Bot Nachrichten von Benutzer:DrTrigonBot/Maintenance hinzugefügt
- Je nach Konfiguration werden Benachrichtungen für andere Wikis hinzugefügt
- Nun wird das Ergebnis je nach Konfiguration des Benutzers auf der entsprechenden Seite abgelegt und intern gespeichert (History).
Konfigurationsmöglichkeiten (Diskussions-Zusammenfassung)
- Durch Einbinden der oben erwähnten Vorlage, kann der Seitenaufbau verbessert werden, da nun die Bot-Einträge nicht über die ganze Diskussionsseite verstreut werden.
- Beim Eintragen in die Liste (dass Du gerne meine Unterstützung hättest) können einige individuelle Parameter/Optionen angegeben werden.
checkedit_count
: Anzahl der letzten Bearbeitungen die zu prüfen sind. Default:500
reportchanged_switch
: Veränderte Diskussionen melden oder Meldung unterdrücken. Default:True
getbacklinks_switch
: Auch Seiten die auf Benutzerseiten verweisen suchen, mit Spezial:Linkliste. Default:False
ignorepage_list
: Liste mit Seiten die ignoriert werden sollen, regex und spezielle Variablen, wie%(username)s
und%(userdiscpage)s
können verwendet werden. Default:[ u'(.*?)/Archiv', ]
altsign_list
: Alternative bzw. zusätzliche Signaturen die einem Benutzer zugeordnet werden sollen. Default:(Name des Benutzers)
checkedit_list
: Liste der Diskussionen die Überwacht werden. Default:(siehe oben 2.2.3)
globwikinotify_switch
: Benachrichtigen wenn in anderen Wikis Nachrichten auf den Diskussions-Seiten (talk-page) vorhanden sind, mit Hilfe von http://toolserver.org/~merl/UserPages/query.php. Diese Funktion ist erst in experimenteller Phase! Default:False
backlinks_list
: Liste mit Seiten (Signatur-Zeilen) die geprüft werden sollen, spezielle Variablen, wie%(userpage)s
und%(userdiscpage)s
können verwendet werden. Default:[ u'%(userdiscpage)s', u'%(userpage)s', ]
checksign_list
: Liste mit Signatur-regex die einem Benutzer zugeordnet werden sollen. Die Signaturen werden in die spezielle Variable%(usersig)s
eingefügt,%(ns)s
deckt alle möglichen Namensräume (2 und 3) ab. Dieser Parameter muss verwendet werden falls die eigene Signatur modifiziert wurde. Default:[ u'--\s?\[\[%(ns)s:%(usersig)s[\]\|/]', ]
cleanup_count
: Anzahl der Tage die auf der Benachrichtigungs-Liste stehen sollen. Wenn der Seitenaufbau nicht zerstört wird, dann räumt der Bot alle älteren Meldungen automatisch ab. Archivierung der gelöschten Einträge ist aber (noch) nicht möglich. Default:-1
(d.h. alles stehen lassen)
FAQ (Diskussions-Zusammenfassung)
- Gibt es irgendwo eine Erklärung der Funktion
'checkedit_count'
? (Kann mir so nix drunter vorstellen.)- Bisher ist nur diese eine Option implementiert (ist also noch in Entwicklung). Die Option beeinflusst, wieviele letzte Edits vom Bot geprüft werden, D.h. ist der Wert zu hoch, wird der Bot langsam und ineffizient (bitte vermeiden), ist er allerdings zu tief, wird der Bot Diskussionen übersehen, bzw. verpassen, an denen man teilgenommen hast (also lieber etwas zu hoch einstellen). Ich denke 500 (der Standard), sollte vollkommen reichen, bzw. meist sogar eher zu hoch sein.
- Warum meldet der Bot dieses Mal (bzw. von Zeit zu Zeit) viel mehr Diskussionen als normalerweise?
- Nach einem Bot-Update auf eine neue Software Version müssen die vergangenen Einträge (history) abgeglichen werden, v.a. wenn der Bot sein Verhalten geändert hat (neue Funktionen). Dies darf nur 1 Lauf des Bot betreffen, dann ist es normal. Wenn es mehrmals hintereinander vorkommt, handelt es sich um einen Bot-Fehler! Diese bitte unter BUGS melden.
- Ist es möglich, dass der Bot die Zusammenfassungen via E-Mail an mich schickt?
Es ist möglich, dass der Bot eine bestimmte Seite alle x Tage an einen Benutzer mailt. Diese Funktion ist erst sehr experimentell und wird mit der Vorlage{{Benutzer:DrTrigon/Entwurf/Vorlage:AutoMail|Benutzer=...|Frequenz=...|Zeigen=...}}
eingebunden. Die Funktionsweise ist ähnlich wie bei der automatischen Archivierung.- Früher war das mittels MailerBot möglich. Seit kurzem unterstützen aber die Mediawiki Software, sowie jedes moderne E-Mail Programm RSS- und Atom-Feeds. Diese bieten eine ausführlichere und bessere Darstellung aller Änderungen, als der Bot. Die Feed-Links können über
Versionsgeschichte
und dannWerkzeuge/Atom
erreicht werden, so lautet bspw. der Link von dieser Seite hier:http://de.wikipedia.org/w/index.php?title=Benutzer:DrTrigonBot&feed=atom&action=history
- Warum meldet der Bot in letzter Zeil viel weniger (bzw. gar keine) Diskussionen als normalerweise?
- Es kann an einer falsch eingestellten Signatur liegen. Der Grund liegt darin, dass einige Nutzer gerne leicht modifierte Signaturen verwenden (also nicht die standard Wikipedia Signatur). Dies kann bei gewissen Abweichungen gut gehen, bei grösseren aber kaum. Das liegt daran das nur Seiten gemeldet werden auf denen auch eine Signatur zu finden ist. Darum ist der Parameter '
checksign_list
' in solchen fällen zwingend notwendig.
- Es kann an einer falsch eingestellten Signatur liegen. Der Grund liegt darin, dass einige Nutzer gerne leicht modifierte Signaturen verwenden (also nicht die standard Wikipedia Signatur). Dies kann bei gewissen Abweichungen gut gehen, bei grösseren aber kaum. Das liegt daran das nur Seiten gemeldet werden auf denen auch eine Signatur zu finden ist. Darum ist der Parameter '
Individuelle Spielwiese (z.B. für Benutzer)
Funktionsweise (Individuelle Spielwiese)
Schritt:
- Der Bot ruft die Spezial:Linkliste für seine Vorlage auf Spezial:Linkliste/Benutzer:DrTrigonBot/Spielwiese ab.
- Für jede Vorlageneinbindung:
- Der Bot ruft die Seite Special:Mypage/Spielwiese (des Benutzers) und prüft
- ob die Vorlage auf der Spielwiese vorhanden ist, wenn ja
- ob die Vorlage der letzte Eintrag ist, wenn nein wird sie gemäht.
- Der Bot ruft die Seite Special:Mypage/Spielwiese (des Benutzers) und prüft
Konfigurationsmöglichkeiten (Individuelle Spielwiese)
Wird nur gemäht, wenn mit {{Benutzer:DrTrigonBot/Spielwiese}}
versehen.
common.js (oder monobook.js, vector.js, ...)
Um die eingene Spielwiese oben im Menu verfügbar zu machen verwende folgenden code in common.js:
addOnloadHook(function() { addPortletLink('p-personal','/wiki/Benutzer:.../Spielwiese', 'Spielwiese','pt-links','Spielwiese','', document.getElementById('pt-preferences')); });
siehe als Beispiel Benutzer:DrTrigon/common.js.
FAQ (Individuelle Spielwiese)
SubsterBot
Funktionsweise (SubsterBot)
Schritt:
- Der Bot ruft die Spezial:Linkliste für seine Vorlage auf Spezial:Linkliste/Benutzer:DrTrigonBot/Subster ab.
- Für jede Vorlageneinbindung:
- Der Bot ruft die entsprechende Seite auf und liest alle Einstellungen aus allen Vorlagen (können mehrere sein).
- DrTrigonBot Magic Words werden ersetzt.
- Für jede Vorlage auf der Seite:
- Die Url (oder Wiki-Seite) wird gelesen und der RegEx darauf angewendet.
- Die extrahierten Daten werden weiterverarbeitet je nach Parametern.
- Alle Ersetzungen werden ausgeführt und die Seite wird geschrieben.
Jeder Text von einer frei wählbaren URL oder auch Wiki-Seite kann an jede beliebige Stelle eingefügt werden. Der Bot macht diese Ersetzungen 1 Mal pro Tag. Damit die Einstellungen aber schon vorher geprüft werden können kann der Bot-Lauf simuliert werden, siehe unter Benutzer:DrTrigonBot/Subster#Simulation.
Ein Teil der Bearbeitungen vom SubsterBot werden ohne Botflag gemacht das ist Absicht und hat den selben Grund wie bei Benutzer:CopperBot ("Warum erscheinen die Edits des Bots auf der Beobachtungsliste?"); es werden nur Bearbeitungen von anderen Benutzern dupliziert. Die Seiten die es betrifft sind unter Benutzer:DrTrigon/DrTrigonBot/subster-config.css aufgelistet.
Konfigurationsmöglichkeiten (SubsterBot)
Kümmert sich nur um Seiten und Tags, die mit {{Benutzer:DrTrigonBot/Subster}}
bezeichnet und konfiguriert sind.
FAQ (SubsterBot)
Individuelle Aufträge
Funktionsweise (Individuelle Aufträge)
Schritt:
- Auf Wikipedia:Bots/Anfragen mit anderen Botbetreibern den Ersetzungsauftrag besprechen und abstimmen (ev. auch auf Wikipedia:WikiProjekt Vorlagen/Werkstatt).
- Simulation ausführen (d.h. Schreibvorgänge unterdrücken, dazu z.B. Parameter '-simulate' verwenden).
- Resultate der Simulation (alle Resultate) prüfen und vorhandene Problemfälle korrigieren.
- Ev. weitere Simulation um sicher zu gehen.
- Wenn Simulation i.O., den Auftrag ausführen oder crontab Eintrag anlegen.
Konfigurationsmöglichkeiten (Individuelle Aufträge)
Siehe folgende Beispiele (klick auf 'code'):
- Einfache Beispiele zum Einstieg: Spezial:Permanentlink/111431372
- Lua Support: Spezial:Permanentlink/111474018
- weitere Skripte (wie replace.py, u.a. )
FAQ (Individuelle Aufträge)
- Stellt im wesentlichen ein Python Interface dar, mit dem Python code von der Wikipedia aus auf dem TS oder labs ausgeführt werden kann. (ziemlich coole Sache... ;)
- ( Die Vergabe von Berechtigungen (für andere User) usw. muss noch ausgearbeitet werden. Ev. auch mehr Sicherheit durch pypy sandbox oder - realistischer - durch RestrictedPython Sandboxing )
Categorization
Diese Dokumentation muss noch übersetzt werden.
MailerBot
Wurde deaktiviert, siehe {{Benutzer:DrTrigon/Entwurf/Vorlage:AutoMail}}
.