WikiBot: Unterschied zwischen den Versionen

Aus SkylineTV LIVE Wiki
Wechseln zu: Navigation, Suche
K (Wiki-Kategorie)
(Trivia: angepasst)
 
(27 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:
  
 
== Automatisierte Wiki-Aktualisierung ==
 
== Automatisierte Wiki-Aktualisierung ==
 +
 +
Primärer Auslöser und Informationsquelle der automatischen Wikiseitenaktualisierung sind Änderungen an der [[Episodenliste]]. Wird diese Liste aktuell gehalten, so werden auch viele andere Seiteninhalte, die von diesen Informationen abhängen, stets vom Bot aktuell gehalten.
  
 
=== Update-Routine ===
 
=== Update-Routine ===
  
Jeden Tag um 00:00 Uhr (Systemzeit: GMT) aktualisiert der Bot folgende Inhalte:
+
Jeden Tag um 00:00 Uhr (Systemzeit: CET) aktualisiert der Bot folgende Inhalte:
 
* [[Hauptseite]]: Was geschah am?
 
* [[Hauptseite]]: Was geschah am?
 
* [[Hauptseite]]: Schon gewusst?
 
* [[Hauptseite]]: Schon gewusst?
Zeile 16: Zeile 18:
 
** Anlegung neuer Streamortseiten, basierend auf toten (=roten) Links in der Episodenliste.
 
** Anlegung neuer Streamortseiten, basierend auf toten (=roten) Links in der Episodenliste.
 
** Aktualisierung der Livestreams-Listen in Streamort-Artikeln.
 
** Aktualisierung der Livestreams-Listen in Streamort-Artikeln.
* [[:Kategorie:Person|Personen]]-Artikel:
 
** Streammitwirkungen werden basierend auf neuen Verlinkungen in der Episodenliste aktualisiert.
 
  
 
=== Botflags ===
 
=== Botflags ===
Zeile 25: Zeile 25:
 
  <nowiki><div bot-flag="FLAG_NAME">Alles hier drin wird vom Bot überschrieben</div></nowiki>
 
  <nowiki><div bot-flag="FLAG_NAME">Alles hier drin wird vom Bot überschrieben</div></nowiki>
  
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 nur bestimmte Wiki-Artikel für bestimmte Flagarten überprüft.  Eine Übersicht über alle Flags und ihren Zielbereich findet sich in der folgenden Tabelle.
+
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 nur bestimmte Wiki-Artikel auf bestimmte Flagarten überprüft.  Eine Übersicht über alle Flags und ihren Zielbereich findet sich in der folgenden Tabelle.
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! scope="col"| Flag-Name
+
! scope="col"| Flagname
! scope="col"| Bot-Aktion
+
! scope="col"| Botaktion
! scope="col"| Ziel-Artikel
+
! scope="col"| Zielartikel
 
|-
 
|-
  
 
| <code>STREAM_MITWIRKUNGEN</code>
 
| <code>STREAM_MITWIRKUNGEN</code>
| 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.
+
| Der Bot sucht in allen Zeilen der Episodenliste nach Links zu Personen und erstellt eine neue Episodenliste, die nur aus linkenthaltenden Zeilen besteht. 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]]
 
| Alle Artikel der [[:Kategorie:Person]]
 
|-
 
|-
Zeile 50: Zeile 50:
  
 
| <code>RANDOM_TRIVIA</code>
 
| <code>RANDOM_TRIVIA</code>
| 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.
+
| Der Bot fügt eine Liste zufälliger Trivia aus dem gesamten Wiki ein (Voraussetzung: Sektion namens Trivia und einzelne Trivia-Punkte als Liste formatiert). Es werden mindestens 700- eichen Trivia eingefügt.
 
| [[Hauptseite]]
 
| [[Hauptseite]]
 
|-
 
|-
  
 
| <code>STREAM_KATEGORIEN</code>
 
| <code>STREAM_KATEGORIEN</code>
| 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 [https://wiki.openstreetmap.org/wiki/API 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. <div style="color:red">Die OSM-API kann bei uneindeutigen Ortsnamen das falsche Bundesland herausfinden!</div>
+
| Der Bot findet für eine Streamseite heraus, in welche Kategorien sie womöglich einsortiert werden soll. Dazu verwendet er Informationen aus der Episodenliste (Land, Ort, Titel (Drohne im Titel -> Drohnenstream, ...)), sowie die [https://wiki.openstreetmap.org/wiki/API 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. <div style="color:red">Die OSM-API kann bei uneindeutigen Ortsnamen das falsche Bundesland herausfinden!</div>
 
| Die zeitlich 50 letzten Stream-Artikel, wie verlinkt in der [[Episodenliste]] seit 2022.
 
| Die zeitlich 50 letzten Stream-Artikel, wie verlinkt in der [[Episodenliste]] seit 2022.
 
|-
 
|-
Zeile 74: Zeile 74:
 
=== Übersicht der Befehle ===
 
=== Übersicht der Befehle ===
  
Der Bot bietet in seiner aktuellen Version fünf Befehlstypen mit z.T. sehr unterschiedlichen Sucheigenschaften.
+
Der Bot bietet in seiner aktuellen Version sieben Befehlstypen mit z.T. sehr unterschiedlichen Sucheigenschaften.
  
 
{| class="wikitable"
 
{| class="wikitable"
Zeile 86: Zeile 86:
 
|-
 
|-
  
|rowspan="2"| <code>!trivia</code>
+
|<code>!wiki</code>
 
| Keiner
 
| Keiner
| Gesamtes Wiki
+
| Keiner
 +
| Link zur [[Hauptseite]]
 +
| Keine
 +
| Nicht nötig
 +
|-
 +
 
 +
|<code>!wiki hilfe</code>
 +
| Keiner
 +
| Keiner
 +
| Link zu [[WikiBot#Wiki-Chatbot]]
 +
| Keine
 +
| Nicht nötig
 +
|-
 +
 
 +
|rowspan="2"| <code>!wiki trivia [parameter]</code>
 +
| Keiner
 +
| Alle nicht-geblacklisteten Wikiartikel
 
| Zufällige Trivia aus zufälligem Artikel
 
| Zufällige Trivia aus zufälligem Artikel
 
| Keine
 
| Keine
Zeile 95: Zeile 111:
  
 
| Artikeltitel
 
| Artikeltitel
| Artikel aus:
+
| Alle nicht-geblacklisteten Wikiartikel
* [[:Kategorie:Person]]
 
* [[:Kategorie:Insider]]
 
* [[: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] über Artikel-Titel im Zielbereich
 
| [https://de.wikipedia.org/wiki/Unscharfe_Suche Fuzzy-Search] über Artikel-Titel im Zielbereich
Zeile 104: Zeile 117:
 
|-
 
|-
  
|rowspan="2"| <code>!streams</code>
+
|rowspan="2"| <code>!wiki streams [parameter]</code>
 
| Keiner
 
| Keiner
 
| Keiner
 
| Keiner
Zeile 112: Zeile 125:
 
|-
 
|-
  
| Artikeltitel
+
| Artikeltitel oder (Teil-)Datum
 
| Artikel aus:
 
| Artikel aus:
 
* [[:Kategorie:Person]]
 
* [[:Kategorie:Person]]
 
* [[:Kategorie:Streamort]]
 
* [[:Kategorie:Streamort]]
| Anzahl der Streams an Ort/mit Person
+
Dynamische Informationen aus [[Episodenliste]]
| [https://de.wikipedia.org/wiki/Unscharfe_Suche Fuzzy-Search] über Artikel-Titel im Zielbereich
+
| Anzahl der Streams an Ort/mit Person/an einem Zeitpunkt (Jahr, Monat, Tag,  Wochentag beliebig kombinierbar)
 +
| [https://de.wikipedia.org/wiki/Unscharfe_Suche Fuzzy-Search] über Artikel-Titel im Zielbereich, wenn (Teil-)Datum erkannt: Abfrage der Episodenliste
 
| Ja
 
| Ja
 
|-
 
|-
  
|rowspan="2"| <code>!insider</code>
+
|rowspan="2"| <code>!wiki insider [parameter]</code>
 
| Keiner
 
| Keiner
 
| Keiner
 
| Keiner
Zeile 137: Zeile 151:
 
|-
 
|-
  
|rowspan="2"| <code>!person</code>
+
|rowspan="2"| <code>!wiki person [parameter]</code>
 
| Keiner
 
| Keiner
 
| Keiner
 
| Keiner
Zeile 153: Zeile 167:
 
|-
 
|-
  
|rowspan="2"| <code>!wikisearch</code>
+
|rowspan="2"| <code>!wiki suche [parameter]</code>
 
| Keiner
 
| Keiner
 
| Keiner
 
| Keiner
| Link zur Seite [[WikiBot#Abfragesprache für !wikisearch|WikiBot]].
+
| Link zur Seite [[WikiBot#Abfragesprache für !wiki suche|WikiBot]].
 
| Keine
 
| Keine
 
| Nicht nötig
 
| Nicht nötig
Zeile 162: Zeile 176:
  
 
| Abfragebefehl
 
| Abfragebefehl
| Alle relevanten nicht-geblacklisteten Wikiartikel
+
| Alle nicht-geblacklisteten Wikiartikel
 
| Titel des Suchergebnis-Artikels, Anzahl der Suchtreffer, ggbfs. Auszug aus dem Wikitext der Stelle(n), die auf den Suchbegriff passen
 
| 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>)
 
| [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>)
Zeile 170: Zeile 184:
 
|}
 
|}
  
=== Abfragesprache für !wikisearch ===
+
=== Beispiele für valide Befehle ===
 +
 
 +
* <code><nowiki>!wiki trivia</nowiki></code>: Zufällige Trivia aus dem gesamten Wiki
 +
* <code><nowiki>!wiki trivia 09.03.2022</nowiki></code>: Zufällige Trivia von der Streamseite [[09.03.2022_Monaco_und_Nizza|09.03.2022 Monaco und Nizza]]
 +
* <code><nowiki>!wiki trivia adam</nowiki></code>: Zufällige Trivia von der Seite [[Adam]]
 +
* ...
 +
 
 +
* <code><nowiki>!wiki streams München</nowiki></code>: Anzahl der Streams in [[München]]
 +
* <code><nowiki>!wiki streams Cynthia</nowiki></code>: Anzahl der Streams bei denen [[Cynthia]] mitwirkte.
 +
* <code><nowiki>!wiki streams Donnerstag 2021</nowiki></code>: Anzahl der Streams, die an Donnerstagen im Jahr 2021 sattfanden.
 +
* <code><nowiki>!wiki streams Donnerstag 13. Mai</nowiki></code>: Anzahl der Streams, die an einem 13. Mai stattfanden und auf einen Donnerstag fielen.
 +
* <code><nowiki>!wiki streams 13.05. 2021</nowiki></code>: Anzahl der Streams, die am 13. Mai 2021 stattfanden.
 +
* ...
 +
 
 +
* <code><nowiki>!wiki insider brunnentv</nowiki></code>: Informationstext zu [[BrunnenTV]].
 +
* <code><nowiki>!wiki insider Polizei Gifhorn</nowiki></code>: Informationstext zu [[Polizei Gifhorn]].
 +
* ...
 +
 
 +
* <code><nowiki>!wiki person toast kawaii</nowiki></code>: Informationstext über [[Toast Kawaii]].
 +
* <code><nowiki>!wiki person nick</nowiki></code>: Informationstext über [[Nick]].
 +
* ...
 +
* Beispiele zu <code><nowiki>!wiki suche [Parameter]</nowiki></code>, siehe [[WikiBot#Abfragesprache für !wiki suche|nächster Abschnitt]].
 +
 
 +
=== Abfragesprache für !wiki suche===
  
 
==== Normale Freitextsuche ====  
 
==== Normale Freitextsuche ====  
  
 
Die normale Freitextsuche sucht nach den exakten Wörtern im Wikitext. Mehrere Wörter, die durch Leerzeichen getrennt sind, werden mit einem logischen Und verbunden.
 
Die normale Freitextsuche sucht nach den exakten Wörtern im Wikitext. Mehrere Wörter, die durch Leerzeichen getrennt sind, werden mit einem logischen Und verbunden.
----
+
 
----
 
 
Finde Artikel, die das Wort <code>Lego</code> enthalten:
 
Finde Artikel, die das Wort <code>Lego</code> enthalten:
  <nowiki>!wikisearch Lego</nowiki>
+
  <nowiki>!wiki suche Lego</nowiki>
----
+
 
 
Finde Artikel, die das Wort <code>Lego</code> und <code>Star</code> und <code>Wars</code> enthalten:
 
Finde Artikel, die das Wort <code>Lego</code> und <code>Star</code> und <code>Wars</code> enthalten:
  <nowiki>!wikisearch Lego Star Wars</nowiki>
+
  <nowiki>!wiki suche Lego Star Wars</nowiki>
----
+
 
 
Finde Artikel, die die Phrase <code>Der Herr segne dich</code> enthalten (genau in dieser Reihenfolge, Wörter direkt hintereinander):
 
Finde Artikel, die die Phrase <code>Der Herr segne dich</code> enthalten (genau in dieser Reihenfolge, Wörter direkt hintereinander):
  <nowiki>!wikisearch "Der Herr segne dich"</nowiki>
+
  <nowiki>!wiki suche "Der Herr segne dich"</nowiki>
----
+
 
 
Finde Artikel, bei dem spätestens nach sechs Wörtern einmal Kassel nach dem Wort Zissel vorkommt:
 
Finde Artikel, bei dem spätestens nach sechs Wörtern einmal Kassel nach dem Wort Zissel vorkommt:
  <nowiki>!wikisearch "Zissel Kassel"~6</nowiki>
+
  <nowiki>!wiki suche "Zissel Kassel"~6</nowiki>
----
 
----
 
  
 
==== Boolsche Operatoren ====  
 
==== Boolsche Operatoren ====  
  
 
Mithilfe der boolschen Operatoren <code>AND</code>, <code>OR</code> und <code>NOT</code> und den Klammerausdrücken <code>(</code> und <code></code>), lassen sich komplexere Abfragen bilden.
 
Mithilfe der boolschen Operatoren <code>AND</code>, <code>OR</code> und <code>NOT</code> und den Klammerausdrücken <code>(</code> und <code></code>), lassen sich komplexere Abfragen bilden.
----
+
 
----
 
 
Finde Artikel, die das Wort <code>Lego</code> enthalten, aber nicht Tim, um beispielsweise Streams zu erhalten, in denen zwar Lego vorkam, jedoch ohne Lego-Fan [[Tim Wawambo]]:
 
Finde Artikel, die das Wort <code>Lego</code> enthalten, aber nicht Tim, um beispielsweise Streams zu erhalten, in denen zwar Lego vorkam, jedoch ohne Lego-Fan [[Tim Wawambo]]:
  <nowiki>!wikisearch Lego NOT Tim</nowiki>
+
  <nowiki>!wiki suche Lego NOT Tim</nowiki>
----
+
 
 
Finde Artikel, die irgendwas mit dem Zisselfest zu tun haben, aber auch das Wort Bonusstream enthalten:
 
Finde Artikel, die irgendwas mit dem Zisselfest zu tun haben, aber auch das Wort Bonusstream enthalten:
  <nowiki>!wikisearch (Elsa OR Zissel OR Kassel) AND Bonusstream</nowiki>
+
  <nowiki>!wiki suche (Elsa OR Zissel OR Kassel) AND Bonusstream</nowiki>
----
 
----
 
  
 
==== Suche nach Titeln ====
 
==== Suche nach Titeln ====
Zeile 208: Zeile 239:
 
Normale Suchanfragen suchen standardmäßig im Wikitext. Wenn zusätzlich oder ausschließlich im Titel einer Seite gesucht werden soll, kann dies mit dem Feld-Präfix <code>titel:</code> geschehen.
 
Normale Suchanfragen suchen standardmäßig im Wikitext. Wenn zusätzlich oder ausschließlich im Titel einer Seite gesucht werden soll, kann dies mit dem Feld-Präfix <code>titel:</code> geschehen.
  
----
 
----
 
 
Suche im Titel nach <code>Frankfurt</code> und nach <code>bauma</code> im Wikitext.
 
Suche im Titel nach <code>Frankfurt</code> und nach <code>bauma</code> im Wikitext.
  <nowiki>wikisearch titel:Frankfurt bauma</nowiki>
+
  <nowiki>wiki suche titel:Frankfurt bauma</nowiki>
----
+
 
 
Suche nach den Wörtern <code>Weihnachtsmarkt</code> und <code>Fulda</code> im Titel.
 
Suche nach den Wörtern <code>Weihnachtsmarkt</code> und <code>Fulda</code> im Titel.
  <nowiki>!wikisearch titel:(Weihnachtsmarkt Fulda)</nowiki>
+
  <nowiki>!wiki suche titel:(Weihnachtsmarkt Fulda)</nowiki>
----
 
----
 
  
Eine exakte Titelsuche kann somit beispielsweise mit <code>titel:"Exakter Titel"</code> erfolgen.
+
Eine exakte Titelsuche für einen bekannten Titel kann somit beispielsweise mit <code>titel:"Exakter Titel"</code> erfolgen.
  
 
==== Wildcard-Operatoren ====
 
==== Wildcard-Operatoren ====
Zeile 231: Zeile 258:
 
=== Artikel-Blacklist ===
 
=== Artikel-Blacklist ===
  
Die Blacklist für Artikel ist ausschließlich für den Befehl <code>!wikisearch [Befehl]</code> und <code>!trivia</code> relevant, da nur für diese ein gesamter Index für das Wiki angelegt wird. Alle anderen Suchbegriffe arbeiten ohnehin nur auf begrenzten Kategorie-Bereichen. Artikelnamen in der Blacklist werden nicht in diesen Index aufgenommen. Standardmäßig werden weder Diskussions-, Benutzer-, noch Spezialseiten indiziert. Zu den sonstigen ausgeschlossenen Artikeln gehören: Episodenliste, WikiBot, Sandbox, alle Seiten die mit Sandbox: beginnen.
+
Die Blacklist für Artikel ist ausschließlich für den Befehl <code>!wiki suche [Befehl]</code> und <code>!wiki trivia</code> relevant, da nur für diese ein gesamter Index für das Wiki angelegt wird. Alle anderen Suchbegriffe arbeiten ohnehin nur auf begrenzten Kategorie-Bereichen. Artikelnamen in der Blacklist werden nicht in diesen Index aufgenommen. Standardmäßig werden weder Diskussions-, Benutzer-, noch Spezialseiten indiziert. Zu den sonstigen ausgeschlossenen Artikeln gehören: Episodenliste, WikiBot, Sandbox, alle Seiten die mit Sandbox: beginnen.
 +
 
 +
== Zukünftige Features ==
 +
 
 +
* Der Befehl "streams" ist in seiner aktuellen Form suboptimal, da er zwei unterschiedliche Auflösungsstrategien verfolgt. Einmal referenziert er direkt existente Wikiseiten zu Entitäten wie Person und Streamort. Für Datumsangaben wird intern hingegen dynamisch die Episodenliste gefiltert. Zukünftig sollen alle Operatonen dynamisch auf der Episodenliste ausgeführt werden, um alle möglichen Streamfilterungen unterstützen zu können. Dies erlaubt auch z.B. unverlinkte Guides zukünftig zu berückschtigen.
  
 
== Fehler und Kontakt ==
 
== Fehler und Kontakt ==
  
Bei Fehlern, Verbesserungsvorschlägen oder Mitentwicklungsinteresse, kontaktiere am besten [[Benutzer:Zeno]].
+
Bei Fehlern, Verbesserungsvorschlägen oder Mitentwicklungsinteresse, nutze die Funktion "Fehler/Feedback" im [https://skylinetv.live/dabei/ Livebereich].
 +
 
 +
== Trivia ==
 +
* Der WikiBot hatte von Anfang Juni 2022 bis Anfang Juli 2022 nichts mehr aktualisiert, es gab kleine Probleme mit einem Fehler in der [[Episodenliste]].
  
 
== Fußnoten ==
 
== Fußnoten ==

Aktuelle Version vom 4. Juli 2022, 21:58 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.

Automatisierte Wiki-Aktualisierung[Bearbeiten]

Primärer Auslöser und Informationsquelle der automatischen Wikiseitenaktualisierung sind Änderungen an der Episodenliste. Wird diese Liste aktuell gehalten, so werden auch viele andere Seiteninhalte, die von diesen Informationen abhängen, stets vom Bot aktuell gehalten.

Update-Routine[Bearbeiten]

Jeden Tag um 00:00 Uhr (Systemzeit: CET) 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.

Botflags[Bearbeiten]

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 nur bestimmte Wiki-Artikel auf bestimmte Flagarten überprüft. Eine Übersicht über alle Flags und ihren Zielbereich findet sich in der folgenden Tabelle.

Flagname Botaktion Zielartikel
STREAM_MITWIRKUNGEN Der Bot sucht in allen Zeilen der Episodenliste nach Links zu Personen und erstellt eine neue Episodenliste, die nur aus linkenthaltenden Zeilen besteht. 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 eine Liste zufälliger Trivia aus dem gesamten Wiki ein (Voraussetzung: Sektion namens Trivia und einzelne Trivia-Punkte als Liste formatiert). Es werden mindestens 700- eichen Trivia eingefügt. Hauptseite
STREAM_KATEGORIEN Der Bot findet für eine Streamseite heraus, in welche Kategorien sie 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[Bearbeiten]

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[Bearbeiten]

Der Bot bietet in seiner aktuellen Version sieben Befehlstypen mit z.T. sehr unterschiedlichen Sucheigenschaften.

Befehl Parameter Zielbereich Antwortinhalte Art der Suche Backlink-Auflösung[1]
!wiki Keiner Keiner Link zur Hauptseite Keine Nicht nötig
!wiki hilfe Keiner Keiner Link zu WikiBot#Wiki-Chatbot Keine Nicht nötig
!wiki trivia [parameter] Keiner Alle nicht-geblacklisteten Wikiartikel Zufällige Trivia aus zufälligem Artikel Keine Nicht nötig
Artikeltitel Alle nicht-geblacklisteten Wikiartikel Zufällige Trivia aus spezifiziertem Wiki-Artikel Fuzzy-Search über Artikel-Titel im Zielbereich Ja
!wiki streams [parameter] Keiner Keiner Link zur Episodenliste Keine Nicht nötig
Artikeltitel oder (Teil-)Datum Artikel aus:

Dynamische Informationen aus Episodenliste

Anzahl der Streams an Ort/mit Person/an einem Zeitpunkt (Jahr, Monat, Tag, Wochentag beliebig kombinierbar) Fuzzy-Search über Artikel-Titel im Zielbereich, wenn (Teil-)Datum erkannt: Abfrage der Episodenliste Ja
!wiki insider [parameter] Keiner Keiner Link zur Kategorie:Insider Keine Nicht nötig
Artikeltitel Artikel aus: Artikel-Anfangstext (Sektion 0) Fuzzy-Search über Artikel-Titel im Zielbereich Ja
!wiki person [parameter] 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
!wiki suche [parameter] Keiner Keiner Link zur Seite WikiBot. Keine Nicht nötig
Abfragebefehl Alle 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

Beispiele für valide Befehle[Bearbeiten]

  • !wiki trivia: Zufällige Trivia aus dem gesamten Wiki
  • !wiki trivia 09.03.2022: Zufällige Trivia von der Streamseite 09.03.2022 Monaco und Nizza
  • !wiki trivia adam: Zufällige Trivia von der Seite Adam
  • ...
  • !wiki streams München: Anzahl der Streams in München
  • !wiki streams Cynthia: Anzahl der Streams bei denen Cynthia mitwirkte.
  • !wiki streams Donnerstag 2021: Anzahl der Streams, die an Donnerstagen im Jahr 2021 sattfanden.
  • !wiki streams Donnerstag 13. Mai: Anzahl der Streams, die an einem 13. Mai stattfanden und auf einen Donnerstag fielen.
  • !wiki streams 13.05. 2021: Anzahl der Streams, die am 13. Mai 2021 stattfanden.
  • ...
  • !wiki insider brunnentv: Informationstext zu BrunnenTV.
  • !wiki insider Polizei Gifhorn: Informationstext zu Polizei Gifhorn.
  • ...
  • !wiki person toast kawaii: Informationstext über Toast Kawaii.
  • !wiki person nick: Informationstext über Nick.
  • ...
  • Beispiele zu !wiki suche [Parameter], siehe nächster Abschnitt.

Abfragesprache für !wiki suche[Bearbeiten]

Normale Freitextsuche[Bearbeiten]

Die normale Freitextsuche sucht nach den exakten Wörtern im Wikitext. Mehrere Wörter, die durch Leerzeichen getrennt sind, werden mit einem logischen Und verbunden.

Finde Artikel, die das Wort Lego enthalten:

!wiki suche Lego

Finde Artikel, die das Wort Lego und Star und Wars enthalten:

!wiki suche Lego Star Wars

Finde Artikel, die die Phrase Der Herr segne dich enthalten (genau in dieser Reihenfolge, Wörter direkt hintereinander):

!wiki suche "Der Herr segne dich"

Finde Artikel, bei dem spätestens nach sechs Wörtern einmal Kassel nach dem Wort Zissel vorkommt:

!wiki suche "Zissel Kassel"~6

Boolsche Operatoren[Bearbeiten]

Mithilfe der boolschen Operatoren AND, OR und NOT und den Klammerausdrücken ( und ), lassen sich komplexere Abfragen bilden.

Finde Artikel, die das Wort Lego enthalten, aber nicht Tim, um beispielsweise Streams zu erhalten, in denen zwar Lego vorkam, jedoch ohne Lego-Fan Tim Wawambo:

!wiki suche Lego NOT Tim

Finde Artikel, die irgendwas mit dem Zisselfest zu tun haben, aber auch das Wort Bonusstream enthalten:

!wiki suche (Elsa OR Zissel OR Kassel) AND Bonusstream

Suche nach Titeln[Bearbeiten]

Normale Suchanfragen suchen standardmäßig im Wikitext. Wenn zusätzlich oder ausschließlich im Titel einer Seite gesucht werden soll, kann dies mit dem Feld-Präfix titel: geschehen.

Suche im Titel nach Frankfurt und nach bauma im Wikitext.

wiki suche titel:Frankfurt bauma

Suche nach den Wörtern Weihnachtsmarkt und Fulda im Titel.

!wiki suche titel:(Weihnachtsmarkt Fulda)

Eine exakte Titelsuche für einen bekannten Titel kann somit beispielsweise mit titel:"Exakter Titel" erfolgen.

Wildcard-Operatoren[Bearbeiten]

Für einzelne Wörter existieren die Wildcard-Operatoren * (ersetzt beliebig viele Zeichen) und ? (ersetzt ein Zeichen). Eine Suche nach !wikisearch *ramsam* findet beispielsweise Artikel, die Aramsamsam enthalten.

Gewichtung von Abfrageelementen[Bearbeiten]

Mit dem Operator ^ können einzelne Abfrageelemente eine höhere Gewichtung bei der Auswertung der Suchanfrage erhalten. Z.B. bedeutet !wikisearch (Elsa Zissel)^5 Hund, dass Elsa und Zissel fünfmal wichtiger sind als andere Wörter, wie hier "Hund".

Artikel-Blacklist[Bearbeiten]

Die Blacklist für Artikel ist ausschließlich für den Befehl !wiki suche [Befehl] und !wiki trivia relevant, da nur für diese ein gesamter Index für das Wiki angelegt wird. Alle anderen Suchbegriffe arbeiten ohnehin nur auf begrenzten Kategorie-Bereichen. Artikelnamen in der Blacklist werden nicht in diesen Index aufgenommen. Standardmäßig werden weder Diskussions-, Benutzer-, noch Spezialseiten indiziert. Zu den sonstigen ausgeschlossenen Artikeln gehören: Episodenliste, WikiBot, Sandbox, alle Seiten die mit Sandbox: beginnen.

Zukünftige Features[Bearbeiten]

  • Der Befehl "streams" ist in seiner aktuellen Form suboptimal, da er zwei unterschiedliche Auflösungsstrategien verfolgt. Einmal referenziert er direkt existente Wikiseiten zu Entitäten wie Person und Streamort. Für Datumsangaben wird intern hingegen dynamisch die Episodenliste gefiltert. Zukünftig sollen alle Operatonen dynamisch auf der Episodenliste ausgeführt werden, um alle möglichen Streamfilterungen unterstützen zu können. Dies erlaubt auch z.B. unverlinkte Guides zukünftig zu berückschtigen.

Fehler und Kontakt[Bearbeiten]

Bei Fehlern, Verbesserungsvorschlägen oder Mitentwicklungsinteresse, nutze die Funktion "Fehler/Feedback" im Livebereich.

Trivia[Bearbeiten]

  • Der WikiBot hatte von Anfang Juni 2022 bis Anfang Juli 2022 nichts mehr aktualisiert, es gab kleine Probleme mit einem Fehler in der Episodenliste.

Fußnoten[Bearbeiten]

  1. Eine Backlink-Auflösung bedeutet, dass alle Seitenaliase berücksichtigen werden, also Weiterleitungslinks von Seiten zu Hauptartikeln. Mit Backlink-Auflösung kann man beispielsweise sowohl mit der Suche nach Elton, als auch nach Amoszool die Hauptseite Elton erfragen. Ohne ginge dies nur mit der Suche nach Elton. Wiki-Ersteller können somit dynamisch einstellen, welche Suchbegriffe auf welche Seiten führen sollen, wenn sie entsprechende Weiterlinkungsseiten anlegen (wie eben die Seite Amoszool).