EarwigBot er en Python robot som redigerer Wikipedia og samhandler med folk over IRC. & Nbsp; Denne filen gir en grunnleggende oversikt over hvordan du installerer og konfigurerer den bot; mer detaljert informasjon ligger i docs / katalog (tilgjengelig online på PyPI).
Historie
Utviklingen begynte, basert på Pywikipedia rammeverk, tidlig i 2009. Godkjenning for sin knyttneve oppgave, et brudd på opphavsretten detektor, ble gjennomført i mai, og boten har kjørt konsekvent helt siden (med unntak av januar / februar 2011). Den håndterer for tiden flere pågående oppgaver som spenner fra statistikk generasjon til kategori opprydding, og on-demand oppgaver som WikiProject mal tagging. Siden det begynte å løpe, har bot gjort over 50.000 redigeringer.
Et prosjekt for å skrive det fra scratch begynte i begynnelsen av april 2011, og dermed beveger seg bort fra Pywikipedia rammeverk og åpner for mindre samlet kode, bedre integrasjon mellom bot deler, og enklere vedlikehold.
Installasjon
Denne pakken inneholder kjernen earwigbot, abstrahert nok til at det skal være brukbare og tilpasses av alle som kjører en bot på en Mediawiki nettsted. Siden det er komponentbasert, kan IRC komponenter deaktiveres hvis ønskelig. IRC kommandoer og bot oppgaver som er spesifikke for min forekomst av EarwigBot at jeg ikke føler den gjennomsnittlige brukeren trenger er tilgjengelig fra depotet earwigbot-plugins.
Det er anbefalt å kjøre bot enhet tester før du installerer. Kjør python setup.py test fra prosjektets rotkatalogen. Merk at noen tester krever en Internett-tilkobling, og andre kan ta en stund å kjøre. Dekningen er nå heller ufullstendig.
Oppsett
Boten lagrer dataene i en "arbeidskatalog", inkludert sin config fil og databaser. Dette er også stedet der du vil plassere tilpasset IRC kommandoer og bot oppgaver, som vil bli forklart senere. Det spiller ingen rolle hvor denne katalogen er, så lenge boten kan skrive til den.
Start bot med earwigbot sti / til / arbeids- / dir, eller bare earwigbot hvis arbeidsmappen er gjeldende katalog. Det vil legge merke til at ingen config.yml filen finnes, og ta deg gjennom installasjonsprosessen.
Det er i dag ingen måte å redigere config.yml fil fra boten etter at det har blitt opprettet, men YAML er en veldig grei format, så du bør være i stand til å gjøre nødvendige endringer selv. Sjekk ut forklaringen på YAML på Wikipedia for å få hjelp.
Etter installasjonen vil boten starte. Dette betyr at det vil koble til IRC-servere det har blitt konfigurert for, planlegge bot oppgaver å kjøre på bestemte tider, og deretter vente på instruksjoner (som kommandoer på IRC). For en liste over kommandoer, si "hjelp!" (Kommandoene er meldinger innledes med et utropstegn).
Du kan stoppe bot når som helst med Ctrl + C, samme som du stopper en normal Python program, og den vil prøve å avslutte trygt. Du kan også bruke "! Quit" kommandoen på IRC.
Tilpasse
Boten arbeidskapital katalogen inneholder kommandoer undermappe og en oppgaver underkatalog. Custom IRC kommandoer kan plasseres i det tidligere, mens tilpassede wiki bot oppgaver gå inn i sistnevnte. Utvikle tilpassede moduler er forklart nedenfor, og i mer detalj gjennom bot dokumentasjon på PyPI (eller i docs / dir).
Merk at egendefinerte kommandoer vil overstyre innebygde kommandoer og oppgaver med samme navn.
Bot og BotConfig
earwigbot.bot.Bot er EarwigBot hoved klasse. Du trenger ikke på å bruke dette selv, men det er godt å bli kjent med sine attributter og metoder, fordi det er den viktigste måten å kommunisere med andre deler av boten. En Bot objekt er tilgjengelig som en egenskap av kommandoer og oppgaver (dvs. self.bot).
earwigbot.config.BotConfig informasjon lagrer konfigurasjon for boten. Sin docstring forklarer hva hvert attributt brukes til, men i hovedsak hver "node" (en av config.components, wiki, irc, kommandoer, oppgaver, og metadata) kart til en del av botens config.yml fil. For eksempel, hvis config.yml inneholder noe sånt som:
irc:
& Nbsp; frontend:
& Nbsp; nick: MyAwesomeBot
& nbsp; kanaler:
& Nbsp; - "## earwigbot"
& Nbsp; - "# kanal"
& Nbsp; - "# other-kanal"
... Deretter config.irc ["frontend"] ["nick"] vil være "MyAwesomeBot" og config.irc ["frontend"] ["kanaler"] vil være ["## earwigbot", "# kanal", "# other-kanal"].
Custom IRC kommandoer
Definerte kommandoer er subklasser av earwigbot.commands.Command som overstyrer Command prosess () (og eventuelt sjekk () eller Oppsett ()) metoder.
Boten har et bredt utvalg av innebygde kommandoer og plugins til å opptre som eksempelkode og / eller å gi ideer. Start med test, og deretter sjekke ut chanops og afc_status for noen mer kompliserte skript.
Custom bot oppgaver
Tilpassede oppgaver er subklasser av earwigbot.tasks.Task som overstyrer Task sin run () (og eventuelt setup ()) metoder.
Se den innebygde wikiproject_tagger oppgave for en relativt grei oppgave, eller de afc_statistics plugin for en mer komplisert.
Wiki Verktøysett
EarwigBot svar på Pywikipedia rammeverket er Wiki Verktøysett (earwigbot.wiki), som du vil i hovedsak få tilgang til gjennom bot.wiki.
bot.wiki gir tre metoder for forvaltning av nettsteder - get_site (), add_site (), og remove_site (). Nettstedene er objekter som bare representerer en Mediawiki nettsted. En enkelt forekomst av EarwigBot (dvs. en enkelt arbeidskatalog) forventes å forholde seg til et enkelt område eller gruppe av nettsteder som bruker den samme påloggingsinfo (som alle WMF wikier med CentralAuth).
Laste inn standard nettsted (den du plukket under oppsett) med site = bot.wiki.get_site ().
Ikke alle aspekter av verktøysettet er dekket i docs. Utforske sin kode og docstrings å lære å bruke den i en mer hands-on mote. For referanse, er bot.wiki en forekomst av earwigbot.wiki.SitesDB knyttet til sites.db filen i bot arbeidskatalog
Krav .
- Python
Kommentarer ikke funnet