WikiBot: Unterschied zwischen den Versionen
Zeno (Diskussion | Beiträge) |
Zeno (Diskussion | Beiträge) |
||
Zeile 83: | Zeile 83: | ||
! scope="col"| Antwortinhalte | ! scope="col"| Antwortinhalte | ||
! scope="col"| Art der Suche | ! scope="col"| Art der Suche | ||
+ | ! scope="col"| Backlink-Auflösung | ||
|- | |- | ||
Zeile 90: | Zeile 91: | ||
| Zufällige Trivia aus zufälligem Artikel | | Zufällige Trivia aus zufälligem Artikel | ||
| Keine | | Keine | ||
+ | | Nicht nötig | ||
|- | |- | ||
Zeile 98: | Zeile 100: | ||
* [[:Kategorie:Stream]] | * [[:Kategorie:Stream]] | ||
| Zufällige Trivia aus spezifiziertem Wiki-Artikel | | Zufällige Trivia aus spezifiziertem Wiki-Artikel | ||
− | | [https://de.wikipedia.org/wiki/Unscharfe_Suche Fuzzy-Search] | + | | [https://de.wikipedia.org/wiki/Unscharfe_Suche Fuzzy-Search] über Artikel-Titel im Zielbereich |
+ | | Ja | ||
|- | |- | ||
Zeile 106: | Zeile 109: | ||
| Link zur [[Episodenliste]] | | Link zur [[Episodenliste]] | ||
| Keine | | Keine | ||
+ | | Nicht nötig | ||
|- | |- | ||
Zeile 112: | Zeile 116: | ||
* [[:Kategorie:Person]] | * [[:Kategorie:Person]] | ||
* [[:Kategorie:Streamort]] | * [[:Kategorie:Streamort]] | ||
− | | Anzahl der Streams an Ort/mit Person | + | | Anzahl der Streams an Ort/mit Person |
− | | [https://de.wikipedia.org/wiki/Unscharfe_Suche Fuzzy-Search] | + | | [https://de.wikipedia.org/wiki/Unscharfe_Suche Fuzzy-Search] über Artikel-Titel im Zielbereich |
+ | | Ja | ||
|- | |- | ||
|rowspan="2"| <code>!insider</code> | |rowspan="2"| <code>!insider</code> | ||
| Keiner | | Keiner | ||
− | | | + | | Keiner |
− | | | + | | Link zur [[:Kategorie:Insider]] |
− | | | + | | Keine |
+ | | icht nötig | ||
|- | |- | ||
| Artikeltitel | | Artikeltitel | ||
− | | | + | | Artikel aus: |
− | | | + | * [[:Kategorie:Insider]] |
− | | | + | | Artikel-Anfangstext (Sektion 0) |
+ | |[https://de.wikipedia.org/wiki/Unscharfe_Suche Fuzzy-Search] über Artikel-Titel im Zielbereich | ||
+ | | Ja | ||
|- | |- | ||
|rowspan="2"| <code>!person</code> | |rowspan="2"| <code>!person</code> | ||
| Keiner | | Keiner | ||
− | | | + | | Keiner |
− | | | + | | Link zur [[:Kategorie:Person]] |
− | | | + | | Keine |
+ | | Nicht nötig | ||
|- | |- | ||
| Artikeltitel | | Artikeltitel | ||
− | | | + | | Artikel aus: |
− | | | + | * [[:Kategorie:Person]] |
− | | | + | | Artikel-Anfangstext (Sektion 0) |
+ | |[https://de.wikipedia.org/wiki/Unscharfe_Suche Fuzzy-Search] über Artikel-Titel im Zielbereich | ||
+ | | Ja | ||
|- | |- | ||
|rowspan="2"| <code>!wikisearch</code> | |rowspan="2"| <code>!wikisearch</code> | ||
| Keiner | | Keiner | ||
− | | | + | | Keiner |
− | | | + | | Link zur Seite [[WikiBot#Abfragesprache für !wikisearch|WikiBot]]. |
− | | | + | | Keine |
+ | | Nicht nötig | ||
|- | |- | ||
| Abfragebefehl | | Abfragebefehl | ||
− | | | + | | Alle relevanten nicht-geblacklisteten Wikiartikel |
− | | | + | | Titel des Suchergebnis-Artikels, Anzahl der Suchtreffer, ggbfs. Auszug aus dem Wikitext der Stelle(n), die auf den Suchbegriff passen |
− | | | + | | [https://whoosh.readthedocs.io/en/latest/intro.html#what-is-whoosh Suchmaschinen-Suche] über gesamtes Wiki (Ausnahme: [[#Artikel-Blacklist|Blacklist]]). Suche im Wikitext oder explizit im Titel (<code>titel:"SkylineTV LIVE"</code>) |
+ | | Nein | ||
|- | |- | ||
Version vom 17. Februar 2022, 21:15 Uhr
Der WikiBot ist ein Softwaresystem zur automatischen Aktualisierung von Wiki-Inhalten und zur Bereitstellung einer Wiki-Abfrage-API, die unter anderem von Chatbots verwendet werden kann.
Inhaltsverzeichnis
Automatisierte Wiki-Aktualisierung
Update-Routine
Jeden Tag um 00:00 Uhr (Systemzeit: GMT) aktualisiert der Bot folgende Inhalte:
- Hauptseite: Was geschah am?
- Hauptseite: Schon gewusst?
- Stream-Artikel:
- Ein neuer Streameintrag in der Episodenliste führt zur automatisierten Erstellung eines Streamartikels.
- Die Streamseiten der letzten 50 Streams werden geupdatet hinsichtlich Kategorien und Streamdetails-Tabelle.
- Personen-Artikel:
- Streammitwirkungen werden basierend auf Links in der Episodenliste aktualisiert.
- Streamort-Artikel:
- Anlegung neuer Streamortseiten, basierend auf toten (=roten) Links in der Episodenliste.
- Aktualisierung der Livestreams-Listen in Streamort-Artikeln.
- Personen-Artikel:
- Streammitwirkungen werden basierend auf neuen Verlinkungen in der Episodenliste aktualisiert.
Botflags
Botflags sind spezielle Belegungen eines bot-flag
-Attributs eines HTML-Div-Elementes. Sie zeigen dem Bot die Stellen im Wikitext an, in welchen er editieren darf. Dies bedeutet jedoch auch, dass alle manuellen Änderungen, die man innerhalb des div
-Tags tätigt zeitnah überschrieben werden können und daher verloren gehen.
<div bot-flag="FLAG_NAME">Alles hier drin wird vom Bot überschrieben</div>
Als Best-Practice lässt man deshalb die Struktur dieser Tags unberührt. Je nach gewünschter Botfunktionalität kann aus einer Menge fest definierter Flags ausgewählt werden. Zu beachten ist jedoch, dass der Bot für bestimmte Flagarten nur bestimmte Wiki-Artikel überprüft. Eine Übersicht über alle Flags und ihren Zielbereich findet sich in der folgenden Tabelle.
Flag-Name | Bot-Aktion | Ziel-Artikel |
---|---|---|
STREAM_MITWIRKUNGEN
|
Der Bot sucht in allen Zeilen der Episodenliste nach Links zu Personen und erstellt eine neue Episodenliste, die nur aus linkenthaltenden Zeilen enthält. Zusätzlich fügt er die Überschrift "Mitwirkungen bei SkylineTV LIVE" ein sowie einen kurzen Text in welchem Bereich (Guide/Kamera/Sprachstudio) die Mitwirkung wie oft erfolgte. | Alle Artikel der Kategorie:Person |
STREAMS_IN_ORT
|
Der Bot sucht in der Spalte "Ort" der Episodenliste nach allen Episoden, die an diesem Ort stattfanden (also in der Episodenliste entsprechend verlinkt sind). Diese Episoden werden in eine neue ortspezifische Episodenliste eingefügt. Zusätzlich wird die Überschrift: "Livestreams In ORT fand(en) bisher X Livestream(s) statt." eingefügt. | Alle Artikel der Kategorie:Streamort |
WAS_GESCHAH_AM
|
Der Bot findet in der Episodenliste alle Streams, die am heutigen Tag stattfanden und fügt sie in eine Liste ein. | Hauptseite |
RANDOM_TRIVIA
|
Der Bot fügt in eine Liste zufällige Trivia aus dem gesamten Wiki ein (Voraussetzung: Sektion namens Trivia und einzelne Trivia-Punkte als Liste formatiert). Es werden mindestens 700-Zeichen Trivia eingefügt. | Hauptseite |
STREAM_KATEGORIEN
|
Der Bot findet für eine Streamseite heraus, in welche Kategorien er womöglich einsortiert werden soll. Dazu verwendet er Informationen aus der Episodenliste (Land, Ort, Titel (Drohne im Titel -> Drohnenstream, ...)), sowie die API von OpenStreetMap, um das Bundesland herauszufinden, sollte sich der Stream in Deutschland abgespielt haben. Unterstützt werden auch mehrere Orte und mehrere Länder. Die OSM-API kann bei uneindeutigen Ortsnamen das falsche Bundesland herausfinden!
|
Die zeitlich 50 letzten Stream-Artikel, wie verlinkt in der Episodenliste seit 2022. |
STREAM_INFO_TABELLE
|
Der Bot fügt eine ausgefüllte Vorlage:Streamdaten für einen Stream ein, basierend auf Daten in der Episodenliste und Twitch-Daten (bei regulären Streams). | Die zeitlich 50 letzten Stream-Artikel, wie verlinkt in der Episodenliste seit 2022. |
Wiki-Chatbot
Der WikiBot bietet eine Abfrage-API für Wikiinhalte. Dazu aktualisiert der Bot jeden Tag eine lokale Kopie des Wikis, um a) die Latenz der Abfrage zu erhöhen, b) das Wiki nicht mit ständigen Api-Requests zu belästigen und c), um zu verhindern, dass trollaffine Nutzer Wikiseiten absichtlich verändern, um etwaige angebundene Chatbots zum Posten dubioser Inhalte zu veranlassen.
Je nach Implementierung des API-Nutzers kann die Syntax zur Verwendung der Befehle leicht variieren. Im Folgenden wird davon ausgegangen, dass der Bot für einen Twitch-Chat angebunden wurde und Befehle deshalb mit einem Ausrufezeichen beginnen.
Übersicht der Befehle
Der Bot bietet in seiner aktuellen Version fünf Befehlstypen mit z.T. sehr unterschiedlichen Sucheigenschaften.
Befehl | Parameter | Zielbereich | Antwortinhalte | Art der Suche | Backlink-Auflösung |
---|---|---|---|---|---|
!trivia
|
Keiner | Gesamtes Wiki | Zufällige Trivia aus zufälligem Artikel | Keine | Nicht nötig |
Artikeltitel | Artikel aus: | Zufällige Trivia aus spezifiziertem Wiki-Artikel | Fuzzy-Search über Artikel-Titel im Zielbereich | Ja | |
!streams
|
Keiner | Keiner | Link zur Episodenliste | Keine | Nicht nötig |
Artikeltitel | Artikel aus: | Anzahl der Streams an Ort/mit Person | Fuzzy-Search über Artikel-Titel im Zielbereich | Ja | |
!insider
|
Keiner | Keiner | Link zur Kategorie:Insider | Keine | icht nötig |
Artikeltitel | Artikel aus: | Artikel-Anfangstext (Sektion 0) | Fuzzy-Search über Artikel-Titel im Zielbereich | Ja | |
!person
|
Keiner | Keiner | Link zur Kategorie:Person | Keine | Nicht nötig |
Artikeltitel | Artikel aus: | Artikel-Anfangstext (Sektion 0) | Fuzzy-Search über Artikel-Titel im Zielbereich | Ja | |
!wikisearch
|
Keiner | Keiner | Link zur Seite WikiBot. | Keine | Nicht nötig |
Abfragebefehl | Alle relevanten nicht-geblacklisteten Wikiartikel | Titel des Suchergebnis-Artikels, Anzahl der Suchtreffer, ggbfs. Auszug aus dem Wikitext der Stelle(n), die auf den Suchbegriff passen | Suchmaschinen-Suche über gesamtes Wiki (Ausnahme: Blacklist). Suche im Wikitext oder explizit im Titel (titel:"SkylineTV LIVE" )
|
Nein |
Abfragesprache für !wikisearch
Artikel-Blacklist
Fehler und Kontakt
Bei Fehlern, Verbesserungsvorschlägen oder Mitentwicklungsinteresse, kontaktiere am besten Benutzer:Zeno.