EarwigBot ist ein Python-Roboter, der Wikipedia bearbeitet und interagiert mit Menschen über IRC. & Nbsp; Diese Datei stellt einen grundlegenden Überblick über die Installation und Einrichtung der Bot; Nähere Informationen sind in der docs / Verzeichnis (im Internet unter PyPI) befindet.
Geschichte
Die Entwicklung begann, auf der Grundlage der pywikipedia Rahmen, Anfang 2009 Zulassung für seine Faust Aufgabe, einen Verstoß gegen das Urheberrecht Detektor wurde im Mai durchgeführt und der Bot hat seitdem konsequent (mit Ausnahme von Jan / Feb 2011) gelaufen ist. Es werden momentan mehrere laufende Aufgaben, von der Statistik Generation zur Kategorie Bereinigung, und On-Demand Aufgaben wie WikiProject Vorlage Tagging. Da es fing an zu laufen, hat der Bot über 50.000 Änderungen vorgenommen.
Ein Projekt, um es von Grund auf neu zu schreiben begann Anfang April 2011, also weg von der pywikipedia Rahmen und damit für insgesamt weniger Code, eine bessere Integration zwischen Bot Teile, und einfachere Wartung.
Installation
Dieses Paket enthält die Kern earwigbot, abstrahiert genug, dass es nutzbar und individuell von jedem Lauf einen Bot auf einem MediaWiki Site. Da es komponentenbasierte, können die IRC-Komponenten auf Wunsch deaktiviert werden. IRC-Befehle und Bot-spezifische Aufgaben bei meiner Instanz EarwigBot, dass ich nicht das Gefühl, den durchschnittlichen Benutzer benötigen, sind von den Repository earwigbot-Plugins.
Es wird empfohlen, Unit-Tests des Bots vor der Installation ausgeführt werden. Führen python setup.py Test von Stammverzeichnis des Projekts. Beachten Sie, dass einige Tests erfordern eine Internetverbindung, und andere können eine Weile dauern, zu laufen. Die Abdeckung ist noch sehr unvollständig.
Einstellungen
Der Bot speichert seine Daten in einem "Arbeitsverzeichnis", einschließlich der Konfigurationsdatei und Datenbanken. Dies ist auch der Ort, an dem Sie benutzerdefinierte IRC Befehle und bot Aufgaben, die später erläutert wird zu platzieren. Es spielt keine Rolle, wo sich dieses Verzeichnis, so lange der Bot kann, es zu schreiben.
Starten Sie den Bot mit earwigbot path / to / Arbeits / dir, oder einfach nur earwigbot wenn das Arbeitsverzeichnis ist das aktuelle Verzeichnis. Es wird bemerkt, dass kein config.yml Datei existiert und führen Sie durch den Installationsvorgang.
Jetzt gibt es keinen Weg, um die config.yml Datei aus dem Bot, nachdem es erstellt wurde bearbeiten, aber YAML ist eine sehr einfache Format, so sollten Sie in der Lage, die erforderlichen Änderungen selbst vornehmen können. Schauen Sie sich die Erklärung der YAML auf Wikipedia zu Rate ziehen.
Nach der Einrichtung werden der Bot starten. Das bedeutet, es wird zu den IRC-Server hat für, Plan bot Aufgaben konfiguriert wurde, um zu bestimmten Zeiten ausgeführt werden (als Befehle im IRC) zu verbinden, und dann auf Anweisungen warten. Eine Liste der Befehle, sagen Sie "! Hilfe" (Befehle sind Nachrichten mit einem Ausrufezeichen vorangestellt).
Sie können den Bot jederzeit mit Strg + C, gleiche zu stoppen, wie Sie ein normales Python-Programm zu stoppen, und es wird versucht, sicher zu verlassen. Sie können auch die "! Quit" Befehl im IRC zu nutzen.
Customizing
Arbeitsverzeichnis des Bots enthält Befehle Unterverzeichnis und eine Aufgaben-Unterverzeichnis. Benutzerdefinierte IRC-Befehle können in der ehemaligen platziert werden, während benutzerdefinierte Wiki bot Aufgaben in diese gehen. Entwicklung kundenspezifischer Module ist unten durch Dokumentation des Bots auf PyPI erklärt und näher (oder im docs / dir).
Beachten Sie, dass benutzerdefinierte Befehle werden integrierte Befehle und Aufgaben mit dem gleichen Namen überschreiben.
Bot und BotConfig
earwigbot.bot.Bot ist Hauptklasse EarwigBot ist. Sie müssen nicht, dies zu instanziieren selbst, aber es ist gut zu sein mit ihren Attributen und Methoden vertraut, denn es ist der wichtigste Weg, um mit anderen Teilen der Bot zu kommunizieren. Ein Bot-Objekt zugänglich ist als Attribut von Befehlen und Aufgaben (dh self.bot).
earwigbot.config.BotConfig speichert Konfigurationsinformationen für den bot. Seine Docstring erläutert, was jedes Attribut wird verwendet, aber im Wesentlichen jeder "Knoten" (einer der config.components, dem Wiki, IRC, Befehle, Aufgaben und Metadaten) Karten zu einem Abschnitt config.yml Datei des Bots. Zum Beispiel, wenn config.yml enthält so etwas wie:
irc:
& Nbsp; Frontend:
& Nbsp; nick: MyAwesomeBot
& Nbsp; Kanäle:
& Nbsp; - "## earwigbot"
& Nbsp; - "#channel"
& Nbsp; - "# anderen Kanal"
... Dann config.irc ["Frontend"] ["nick"] wird "MyAwesomeBot" und config.irc ["Frontend"] ["Kanäle"] werden ["## earwigbot", "#channel" zu sein, "# anderen Kanal"].
Benutzerdefinierte IRC-Befehle
Benutzerdefinierte Befehle sind Unterklassen von earwigbot.commands.Command die Command process () (und ggf. check () oder Setup ()) Methoden überschreiben.
Der Bot hat eine große Auswahl an integrierten Befehlen und Plugins als Beispielcode handeln und / oder um Ideen zu geben. Beginnen Sie mit Test, und dann schauen Sie in ein Channel Op und afc_status für einige kompliziertere Skripten.
Benutzerdefinierte bot Aufgaben
Benutzerdefinierte Aufgaben sind Unterklassen earwigbot.tasks.Task, die Aufgabe der run () (und ggf. setup ()) Methoden überschreiben.
Siehe eingebauten wikiproject_tagger Aufgabe für eine relativ einfache Aufgabe, oder die afc_statistics Plugin für eine schwierigere man ist.
Das Wiki Toolset
EarwigBot Antwort auf die pywikipedia Rahmen ist die Wiki-Toolset (earwigbot.wiki), die Sie vor allem den Zugriff durch bot.wiki.
bot.wiki bietet drei Methoden für das Management von Websites - get_site (), add_site () und remove_site (). Websites sind Objekte, die einfach sind ein MediaWiki Website. Eine einzelne Instanz EarwigBot (dh einem einzigen Arbeitsverzeichnis) wird erwartet, dass auf einen einzigen Standort oder eine Gruppe von Websites mit dem gleichen Login-Informationen (wie alle WMF Wikis mit Centralauth) beziehen.
Legen Sie die Standard-Website (die, die Sie während der Installation ausgewählt) mit Website = bot.wiki.get_site ().
Nicht alle Aspekte des Toolsets sind in der Dokumentation abgedeckt. Entdecken Sie seinen Code und Docstrings lernen, wie man es in einem Hands-on-Mode zu verwenden. Als Referenz ist bot.wiki eine Instanz earwigbot.wiki.SitesDB auf die sites.db Datei im Arbeitsverzeichnis des Bots verbunden
Anforderungen .
- Python
Kommentare nicht gefunden