Er ist der Hund unten rechts, der aufräumt, nachdem die Admins geschossen haben.
Der Bot im Selbstgespräch - sieht nicht sehr aufregend aus…

Der Xqbot hat auf WP:VM drei Aufgaben:

  1. er teilt dort gemeldeten Benutzern mit, dass sie von jemandem gemeldet wurden
  2. er markiert Abschnitte bereits gesperrter Nutzer mit "(erl.)".
  3. er markiert Abschnitte bereits geschützter Seiten mit "(erl.)".

Der Bot wird aktiv, sobald auf der VM-Seite nicht von einem Bot geschrieben wird oder eine Benutzersperre oder Sperrverlängerung ins Sperrlogbuch geschrieben wurde oder eine Seite im Seitenschutz-Logbuch geschrieben wurde. Diese Information erhält er über die Implementierung von EventStreams.

  1. Für jede Überschrift auf WP:VM wird geprüft, ob es sich um einen gemeldeten Benutzer oder eine gemeldete Seite handelt.
  2. Erledigte Überschriften, die mit (erl.) (erledigt) (gesperrt) oder (in Bearbeitung) enden, werden übersprungen.
  3. Für den Fall dass der gefundene Benutzer oder die gefundene Seite gesperrt beziehungsweise geschützt ist wird der entsprechende Logbucheintrag ausgelesen.
  4. Der Logbucheintrag wird intern im entsprechenden Abschnitt mit dieser Vorlage vermerkt und der Überschrift ein (erl.) als Erledigungsvermerk angefügt.
  5. Nachdem alle Überschriften abgearbeitet sind, werden die Änderungen der WP:VM-Seite zurückgeschrieben. Damit können mehrere betroffene Abschnitte gleichzeitig als erledigt markiert werden, was aber aufgrund der Aktualisierungsrate eigentlich nur noch bei Doppeleinträgen vorkommt.
  6. Nun wird geprüft, ob neue Meldungen auf der VM vorliegen und benachrichtigt den Gemeldeten, wenn:
    1. der Gemeldete angemeldet ist, automatisch bestätigt ist und mindestens 10 Bearbeitungen hat und
    2. nicht in der Opt-out-Liste für Nachrichtenempfänger steht und
    3. der Melder nicht in der Opt-out-Liste für VM-Steller steht und
    4. der Gemeldete in Überschrift gefunden werden konnte (keine Mehrfacheinträge) und der Melder eine Standardsignatur mit Link auf Benutzer(diskussions)seite oder seine Beiträge verwendet.

Warum klappt die Markierung gesperrter Benutzer manchmal nicht?

Bearbeiten

Dies kann viele Gründe haben:

Die Meldung auf VM erfolgte nach der Sperre des Admins
Damit kann der Bot umgehen, denn der Bot durchsucht bei jedem Event auch alte Logbucheinträge.
Abschnitt wird nicht erkannt
Der Link des gemeldeten enthält ungültige Zeichen oder es werden mehrere in einer Überschrift gemeldet.
Der Bot bekommt einen Bearbeitungskonflikt
Das ist zwar bei der schnellen Bearbeitungszeit eher selten, aber es kann passieren. Zwischen Quelltext aufrufen und Speichern liegen 1-3 Sekunden. Liegt ein BK vor, versucht er es beim nächsten Event nochmal. Das kann allerdings eine Weile dauern.
Der Bot wird keine Seiten speichern, weil der Datenbank-Lag zu groß ist
Dies dient der Schonung der Server und ist allen Pywikibots gleich. Als Mensch merkt man davon nur, dass der Bot anscheinend nichts mehr macht.
Was anderes
"Wikipedia hat ein Problem", der Bot hat ein Problem, keine Internetverbindung für den Botrechner, der Bot wird gerade gewartet oder …

Ich bekomme Bearbeitungskonflikte beim Schreiben der Begründung für die Sperre, geht das auch anders?

Bearbeiten

Dies sollte eigentlich nicht mehr vorkommen, da der Bot (nahezu) zeitgleich mit der Sperre schreibt. Der Hintergrund der schnellen Botreaktion ist, dass Admins sich nicht unnötig mit bereits erledigten Fällen beschäftigen müssen; das marblocked.js zeigt dies natürlich auch sehr schnell..