EarwigBot er en Python robot, der redigerer Wikipedia og interagerer med personer over IRC. & Nbsp; Denne fil indeholder et grundlæggende overblik over, hvordan du installerer og opsætning bot; mere detaljerede oplysninger ligger i docs / bibliotek (tilgængelig online på PyPI).
Historie
Udvikling begyndte, baseret på Pywikipedia rammer, i begyndelsen af 2009. Godkendelse for sin knytnæve opgave, en overtrædelse af ophavsretten detektor, blev gennemført i maj og botten har kørt konsekvent lige siden (med undtagelse af Jan / feb 2011). Den håndterer i øjeblikket flere igangværende opgaver lige fra statistikker generation til kategori oprydning, og on-demand opgaver såsom WikiProject skabelon tagging. Da det begyndte at løbe, har bot foretaget over 50.000 redigeringer.
Et projekt til at omskrive det fra bunden begyndte i begyndelsen af april 2011, således bevæger sig væk fra Pywikipedia rammer og giver mulighed for mindre samlet kode, bedre integration mellem bot dele, og nemmere vedligeholdelse.
Installation
Denne pakke indeholder de centrale earwigbot, indvindes nok, at det skal være brugbart og kan tilpasses af alle kører en bot på et MediaWiki site. Da det er komponentbaseret kan IRC komponenter deaktiveres, hvis det ønskes. Kommandoer IRC og bot opgaver specifikke for min forekomst af EarwigBot, at jeg ikke føler den gennemsnitlige bruger får brug for er tilgængelige fra lageret earwigbot-plugins.
Det anbefales at køre Bots unit test, før du installerer. Kør python setup.py test fra projektets rodmappe. Bemærk, at nogle test kræver en internetforbindelse, og andre kan tage et stykke tid at køre. Dækningen er i øjeblikket temmelig ufuldstændig.
Opsætning
Den bot gemmer sine data i en "arbejdsmappe", herunder dens konfigurationsfil og databaser. Dette er også det sted, hvor du vil placere brugerdefinerede IRC kommandoer og bot opgaver, som vil blive forklaret senere. Det er ligegyldigt, hvor denne mappe er, så længe bot kan skrive til den.
Start bot med earwigbot sti / til / arbejds- / dir, eller bare earwigbot hvis arbejdsmappen er den aktuelle mappe. Det vil bemærke, at der ikke config.yml filen findes, og tager dig gennem opsætningen.
Der er i øjeblikket ikke muligt at redigere config.yml fil inde fra bot, efter at den er blevet oprettet, men YAML er en meget ligetil format, så du bør være i stand til at foretage de nødvendige ændringer selv. Tjek forklaringen på YAML på Wikipedia om hjælp.
Efter opsætning vil bot starter. Det betyder, at det vil forbinde til IRC-servere den er blevet konfigureret til, tidsplan bot opgaver til at køre på bestemte tidspunkter, og derefter vente på instruktioner (som kommandoer på IRC). For en liste over kommandoer, siger "! Hjælp" (kommandoer er beskeder som indledes med udråbstegn).
Du kan stoppe bot til enhver tid med Ctrl + C, samme som du stopper en normal Python program, og det vil forsøge at afslutte sikkert. Du kan også bruge "! Quit" kommandoen på IRC.
Tilpasning
Den bot arbejdsgruppe mappe indeholder en kommandoerne undermappe og en opgaver undermappe. Brugerdefineret IRC-kommandoer kan placeres i det tidligere, mens brugerdefinerede wiki bot opgaver gå ind i sidstnævnte. Udvikling brugerdefinerede moduler er forklaret nedenfor, og mere detaljeret gennem bot dokumentation på PyPI (eller i docs / dir).
Bemærk, at brugerdefinerede kommandoer tilsidesætter indbyggede kommandoer og opgaver med samme navn.
Bot og BotConfig
earwigbot.bot.Bot er EarwigBot vigtigste klasse. Du behøver ikke at instantiere dette selv, men det er godt at være bekendt med sine attributter og metoder, fordi det er den vigtigste måde at kommunikere med andre dele af bot. En bot objekt er tilgængelig som en egenskab ved kommandoer og opgaver (dvs. self.bot).
earwigbot.config.BotConfig gemmer konfigurationsoplysninger for bot. Dens docstrengen forklarer, hvad hver attribut anvendes til, men i det væsentlige hver "node" (en af config.components, wiki, IRC, kommandoer, opgaver, og metadata) kort til en del af bot s config.yml fil. For eksempel, hvis config.yml indeholder noget lignende:
irc:
& Nbsp; frontend:
& Nbsp; nick: MyAwesomeBot
& nbsp; kanaler:
& Nbsp; - "## earwigbot"
& Nbsp; - "#kanal"
& Nbsp; - "# anden-kanal"
... Så config.irc ["frontend"] ["nick"] vil være "MyAwesomeBot" og config.irc ["frontend"] ["kanaler"] vil være ["## earwigbot", "#kanal" "# anden kanal"].
Brugerdefineret IRC-kommandoer
Brugerdefinerede kommandoer er underklasser af earwigbot.commands.Command som tilsidesætter Kommando proces () (og eventuelt kontrol () eller opsætning ()) metoder.
Den bot har et bredt udvalg af indbyggede kommandoer og plugins til at fungere som kodeeksempler og / eller give ideer. Start med test, og derefter checke chanops og afc_status for nogle mere komplicerede scripts.
Brugerdefineret bot opgaver
Brugerdefinerede opgaver er underklasser af earwigbot.tasks.Task som tilsidesætter Task s run () (og eventuelt opsætning ()) metoder.
Se den indbyggede wikiproject_tagger opgave for en relativt enkel opgave eller afc_statistics plugin for en mere kompliceret.
The Wiki Toolset
EarwigBot svar på Pywikipedia rammer er den Wiki Toolset (earwigbot.wiki), som du primært vil få adgang via bot.wiki.
bot.wiki giver tre metoder til håndtering af websteder - get_site (), add_site (), og remove_site (). Steder er objekter, der blot repræsenterer et MediaWiki site. Der forventes en enkelt instans af EarwigBot (dvs. et enkelt arbejdsmappe) at forholde sig til et enkelt websted eller en gruppe af websteder ved hjælp af samme login info (ligesom alle WMF wikis med CentralAuth).
Læg din standard hjemmeside (den, du plukket under opsætningen) med stedet = bot.wiki.get_site ().
Ikke alle aspekter af værktøjssæt er dækket i docs. Udforsk sin kode og docstrings at lære at bruge det i en mere hands-on mode. For reference, bot.wiki er en instans af earwigbot.wiki.SitesDB bundet til sites.db fil i bot s arbejdsmappe
Krav :.
- Python
Kommentarer ikke fundet