EarwigBot är en Python robot som redigerar Wikipedia och interagerar med människor över IRC. & Nbsp; Den här filen ger en grundläggande översikt över hur att installera och ställa bot; mer detaljerad information finns i docs / katalogen (tillgänglig online på PyPI).
Historia
Utveckling började, baserat på ramverket Pywikipedia, i början av 2009. Godkännande för sin knytnäve uppgift, ett upphovsrättsbrott detektor, genomfördes i maj och boten har varit igång konsekvent ända sedan (med undantag för Jan / feb 2011). Den hanterar för närvarande flera pågående uppgifter allt från statistik generation till kategori rensning och uppgifter på efterfrågan såsom Wikiproject mall tagg. Eftersom det började springa, har bot gjort över 50.000 redigeringar.
Ett projekt för att skriva om det från början startade i början av april 2011 därmed rör sig bort från ramverket Pywikipedia och möjliggör mindre övergripande kod, bättre integration mellan bot delar och enklare underhåll.
Installation
Det här paketet innehåller kärn earwigbot, abstraherat nog att det ska vara användbart och anpassningsbara av alla som kör en bot på en Mediawiki webbplats. Eftersom det är komponentbaserad, kan de IRC komponenterna avaktiveras om så önskas. IRC kommandon och bot uppgifter som är specifika för min instans av EarwigBot att jag inte känner den genomsnittlige användaren behöver är tillgängliga från förvaret earwigbot-plugins.
Det rekommenderas att köra bot s enhetstester innan du installerar. Kör python setup.py test från projektets rotkatalog. Observera att vissa tester kräver en internetuppkoppling, och andra kan ta ett tag att köra. Täckning är idag ganska ofullständig.
Inställningar
Boten lagrar sina data i en "arbetskatalog", inklusive dess konfigurationsfil och databaser. Detta är också den plats där du kommer att placera anpassade IRC kommandon och bot uppgifter, som kommer att förklaras senare. Det spelar ingen roll var den här katalogen är, så länge som bot kan skriva till den.
Starta bot med earwigbot sökväg / till / arbets / dir, eller bara earwigbot om arbetskatalogen är den aktuella katalogen. Det kommer att märka att ingen config.yml filen finns och tar dig genom installationsprocessen.
Det finns idag inget sätt att redigera config.yml filen inifrån bot efter att den har skapats, men YAML är en mycket enkel form, så du bör kunna göra nödvändiga ändringar själv. Kolla in förklaringen till YAML på Wikipedia för att få hjälp.
Efter installationen kommer bot startar. Detta innebär att det kommer att ansluta till IRC-servrar har konfigurerats för, schema bot uppgifter ska köras vid vissa tider, och sedan vänta på instruktioner (som kommandon på IRC). För en lista över kommandon, säger "! Hjälp" (kommandon meddelanden inleds med utropstecken).
Du kan stoppa bot helst med Ctrl + C, samma som du stoppar en normal Python-program, och det kommer att försöka avsluta på ett säkert sätt. Du kan också använda "! Quit" kommando på IRC.
Anpassa
Boten är arbetskatalogen innehåller en kommandona katalog och en uppgifter katalog. Anpassad IRC kommandon kan placeras i den förra, medan anpassade wiki bot uppgifter går in den senare. Utveckla anpassade moduler förklaras nedan, och mer i detalj genom bot dokumentation på PyPI (eller i docs / dir).
Observera att anpassade kommandon kommer att åsidosätta inbyggda kommandon och uppgifter med samma namn.
Bot och BotConfig
earwigbot.bot.Bot är EarwigBot huvudklassen. Du behöver inte instansiera själv, men det är bra att känna till dess attribut och metoder, eftersom det är det huvudsakliga sättet att kommunicera med andra delar av bot. Ett Bot objektet är tillgänglig som ett attribut av kommandon och uppgifter (dvs. self.bot).
earwigbot.config.BotConfig lagrar konfigurationsinformation för bot. Dess docstring förklarar vad varje attribut används för, men i huvudsak var "nod" (en av config.components, wiki, irc, kommandon, uppgifter och metadata) kartor till ett avsnitt av bot s config.yml fil. Till exempel, om config.yml omfattar ungefär:
irc:
& Nbsp; frontend:
& Nbsp; nick: MyAwesomeBot
& nbsp; kanaler:
& Nbsp; - "## earwigbot"
& Nbsp; - "#kanal"
& Nbsp; - "# andra-kanal"
... Sedan config.irc ["frontend"] ["nick"] kommer att vara "MyAwesomeBot" och config.irc ["frontend"] ["kanaler"] kommer att ["## earwigbot", "#kanal", "# andra-kanal"].
Anpassad IRC kommandon
Anpassade kommandon är underklasser till earwigbot.commands.Command som åsidosätter processen Command s () (och eventuellt check () eller Inställningar ()) metoder.
Boten har ett brett utbud av inbyggda kommandon och plugins att fungera som exempelkod och / eller att ge idéer. Börja med testet, och sedan checka ut kanaloperatörer och afc_status för vissa mer komplicerade skript.
Anpassad bot uppgifter
Anpassade uppgifter är underklasser till earwigbot.tasks.Task som åsidosätter Task run () (och eventuellt setup ()) metoder.
Se den inbyggda wikiproject_tagger uppgift för en förhållandevis okomplicerad uppgift, eller de afc_statistics plugin för ett mer komplicerat ett.
Wiki Toolset
EarwigBot svar på ramverket Pywikipedia är Wiki Toolset (earwigbot.wiki), vilket du huvudsakligen kommer åt via bot.wiki.
bot.wiki ger tre metoder för förvaltning av webbplatser - get_site (), add_site (), och remove_site (). Webbplatser är objekt som helt enkelt utgör en Mediawiki webbplats. En enda instans av EarwigBot (t.ex. ett enkelt arbetskatalog) förväntas relatera till en enskild plats eller grupp av webbplatser som använder samma inloggningsinformation (som alla WMF wikis med CentralAuth).
Ladda din standard webbplats (den som du plockat under installationen) med plats = bot.wiki.get_site ().
Inte alla aspekter av den verktygsuppsättning är täckta i docs. Utforska sin kod och docstrings att lära sig att använda den på ett mer handfast sätt. För referens, är bot.wiki en instans av earwigbot.wiki.SitesDB knuten till sites.db filen i bot arbetskatalog
Krav :.
- Python
Kommentarer hittades inte