Jump to content

Handbuch:Pywikibot/Schnellstart für Wikis von Dritten

From mediawiki.org
This page is a translated version of the page Manual:Pywikibot/Third-party Wiki Quick Start and the translation is 100% complete.

Diese Seite ist eine kurze Arbeitszusammenfassung von Manual:Pywikibot/Use on third-party wikis . Siehe diese Seite für weitere Details, falls etwas unklar ist und falls dein Wiki mehr Namensräume oder Sprachen verwendet oder andere, hier nicht besprochene Konfigurationen nutzt. Das meiste davon sollte für eine einzelne Wiki-Seite in englischer Sprache funktionieren. Wenn du ein Wiki in einer anderen Sprache als Englisch hast, kannst du die Familiendatei entsprechend ändern (das ist ganz einfach).

Bevor du versuchst, einen Bot zu erstellen, sieh dir die verfügbaren Skripte an. Die Skripte sind flexibel und können viele Aufgaben erledigen. Sollte jedoch kein passendes Skript für deine spezifische Aufgabe verfügbar sein, musst du möglicherweise selbst eines in Python erstellen.

Anforderungen für einen Bot

Um einen Bot auf deinem Wiki und nicht auf deinem persönlichen Computer auszuführen, benötigst du Shell-Zugriff auf deinen hosting provider . Wenn du nicht weißt, ob du Shell-Zugriff hast, frage deinen Hosting-Anbieter.

Um zu überprüfen, ob du Python installiert hast und welche Version es ist, gib "python3 --version" an der Shell-Eingabeaufforderung ein.

Für die Ausführung des Bots ist derzeit Python 3.9 oder höher erforderlich, empfohlen wird jedoch Python 3.10 oder höher.

Die Skripte sollten mit pwb.py ausgeführt werden, das sich im Stammverzeichnis von Pywikibot befindet.

$ python3 pwb.py myscript

Schritte

Was du tun wirst: Du wirst einen Bot-Benutzernamen in deinem Wiki erstellen, ihm die entsprechenden Rechte geben, die Bot-Software herunterladen, zwei Textdateien erstellen, die Software hochladen, den Bot anmelden und ein Testskript ausführen, um zu prüfen, ob der Bot funktioniert.

1. Vergib einen Benutzernamen für deinen Bot, ähnlich wie man ein reguläres Benutzerkonto im Wiki anlegt (z. B. SiteBot/Passwort). Achte auf ein ausreichend sicheres Passwort (nicht etwas Einfaches wie "sitebot123").

2. Melde dich vom Bot-Konto ab und melde dich mit deinem Konto an, das über Bürokraten-Rechte verfügt. Weise dem Benutzernamen in den Benutzerrechten die Berechtigung "Bot" zu. Falls du die Erweiterung Gesichtete Versionen installiert hast, weise dem Bot die Berechtigungen "Prüfer" und "Sichter" zu.

3. Lade die Pywikibot-Software auf deinem Computer herunter. Direktlink zur ZIP-Datei oder siehe Downloadabschnitt für andere Formate.

4. Entpacke den Inhalt der ZIP-Datei in einen Ordner auf deinem Computer. Dieser Ordner enthält zahlreiche Unterordner. Dies ist die Bot-Software. Achte auf nicht-englische (mit Akzenten versehene) Buchstaben im Pfad, da diese unter Linux in einigen Fällen Probleme verursacht haben.[1][2]

5. Erstelle im Ordner, in dem du Pywikibot platziert hast, eine Textdatei mit dem Namen "user-config.py", die die folgenden angepassten Zeilen enthält:

mylang = 'en'
family = 'yoursite'
usernames['yoursite']['en'] = 'MySiteBot'
console_encoding = 'utf-8'

Verwende anstelle von "yoursite" bei der Familienvariablen einen einfachen Namen für deine Seite, also in Kleinbuchstaben. Der Wert sollte dem Wert von $wgSitename entsprechen.

Für:

usernames['yoursite']['en'] = 'SiteBot'

SiteBot ist der Name deines Bot-Benutzerkontos, das du in Schritt 1 erstellt hast. Bitte achte auf die korrekte Groß- und Kleinschreibung.

Speichere diese Datei.

6. Um deinen Bot auf dem Wiki-Server zu verwenden, lade das Verzeichnis "pywikibot" auf deinen Server hoch. Dieses Verzeichnis darf sich nicht im selben Verzeichnis wie die Datei LocalSettings.php befinden, da Benutzer sonst standardmäßig über eine URL, die auf dieses Verzeichnis verweist, auf die Dateien zugreifen können.

7. Melde dich in deinem Shell-Konto an und navigiere zu dem hochgeladenen Verzeichnis auf deinem Server.

8. Nun erstellst du eine Familiendatei für deine Seite. Prüfe zunächst, ob diese automatisch generiert werden kann. Gib in der Shell-Eingabeaufforderung "python3 pwb.py generate_family_file" ein und drücke die Eingabetaste. Falls ein Fehler auftritt und die Datei nicht generiert wird, folge dem unten stehenden Beispiel.

Für den einfachsten Fall, in dem es nur ein Wiki in englischer Sprache gibt, hier ein Beispiel aus dem Mozilla-Wiki:

from pywikibot import family

# The official Mozilla Wiki. #Put a short project description here.

class Family(family.Family):
    name = 'mozilla' # Set the family name; this should be the same as in the filename.
    langs = {
        'en': 'wiki.mozilla.org', # Put the hostname here.
    }

    def scriptpath(self, code):
        return '' # The relative path of index.php, api.php : look at your wiki address.
        # This line may need to be changed to /wiki or /w,
        # depending on the folder where your mediawiki program is located.
        # Note: Do not _include_ index.php, etc.

Diese Textdatei sollte in "mywiki_family.py" umbenannt werden (ersetze mywiki durch den Namen deines Wikis, alles klein geschrieben) und in den Ordner "families" hochgeladen werden (dort findest du weitere Familiendateien, die du ignorieren kannst). Du hast nun eine Familiendatei für deine Seite.

9. Melde dich nun mit deinem Bot an und prüfe, ob es funktioniert. Gib in der Shell im Verzeichnis "pywikibot" Folgendes ein: "python3 pwb.py login". Du solltest nun nach dem Bot-Passwort gefragt werden, das du in Schritt 1 erstellt hast. Bei erfolgreicher Anmeldung wird eine Erfolgsmeldung angezeigt. Dies ist nur einmalig erforderlich. Bots bleiben normalerweise angemeldet.

10. Um zu testen, ob dein Bot funktioniert, kannst du ein vorhandenes Skript verwenden, das Text am Anfang aller Seiten in einer bestimmten Kategorie einfügt. Suche auf deiner Seite eine Kategorie mit maximal zehn Seiten, damit du diese problemlos zurücksetzen kannst. Falls du keine solche Kategorie hast, füge zu drei beliebigen Seiten eine temporäre Kategorie hinzu.

Führe an der Eingabeaufforderung deiner Shell im Pywikibot-Verzeichnis das Skript add_text aus:

$ python3 pwb.py add_text -cat:catname -text:"This is a Test." -except:"\{\{([Tt]emplate:|)[Dd]ocumentation [Ss]ubpage" -up

Ersetze den Kategorienamen in "-cat:catname". Der Kategoriename ist der Name deiner Testkategorie. Wenn der Titel der Kategorieseite beispielsweise "Category:Test Pages" lautet, schreibe in diesem Befehl "-cat:test_pages".

Dadurch wird der Text "This is a Test." auf allen Seiten in dieser Testkategorie oben eingefügt.

Wenn der Bot läuft, ändert sich die Eingabeaufforderung der Shell entsprechend.

11. Gehe zu deinen Letzten Änderungen und klicke auf "Bots anzeigen", um zu sehen, ob dein Bot die Bearbeitungen vorgenommen hat.

Für andere Bots siehe: Handbuch:Pywikibot/Skripte und Handbuch:Pywikibot/Schreibe dein eigenes Skript . Falls du keinen Bot findest, der deine Anforderungen erfüllt, kannst du dir die vorhandenen Skripte ansehen, um Anregungen für die Erstellung eines eigenen Bots zu erhalten.

Wenn du ein neues, ungetestetes Bot-Skript ausführst, teste es zunächst auf einem "Test"-Wiki, falls es außer Kontrolle gerät. Du kannst ihn auch sperren, wie du es bei einem normalen Wiki-Benutzernamen tun würdest. Du kannst auch die Shell-Eingabeaufforderung beenden.

Anmerkungen


If you need more help on setting up your Pywikibot visit the #pywikibot IRC channel connect or pywikibot@ mailing list.