A Python robot that edits Wikipedia and interacts with people over IRC https://en.wikipedia.org/wiki/User:EarwigBot
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
Ben Kurtovic f698981aa3 Break up Site._api_query() into three methods for readability hace 12 años
earwigbot Break up Site._api_query() into three methods for readability hace 12 años
tests Updates to setup.py, unit tests, and logging hace 12 años
.gitignore Updates to setup.py, unit tests, and logging hace 12 años
LICENSE Copyright update for 2012. hace 12 años
README.md Some code for copyvio detection, including querying Yahoo! BOSS correctly. hace 13 años
setup.py git version info, logging updates, utility hace 12 años

README.md

EarwigBot is a Python robot that edits Wikipedia and interacts with people over IRC.

History

Development began, based on the Pywikipedia framework, in early 2009. Approval for its fist task, a copyright violation detector, was carried out in May, and the bot has been running consistently ever since (with the exception of Jan/Feb 2011). It currently handles several ongoing tasks, ranging from statistics generation to category cleanup, and on-demand tasks such as WikiProject template tagging. Since it started running, the bot has made over 45,000 edits.

A project to rewrite it from scratch began in early April 2011, thus moving away from the Pywikipedia framework and allowing for less overall code, better integration between bot parts, and easier maintenance.

Installation

Dependencies

EarwigBot uses the MySQL library oursql (>= 0.9.2) for communicating with MediaWiki databases, and some tasks use their own tables for storage. Additionally, the afc_history task uses matplotlib and numpy for graphing AfC statistics. Neither of these modules are required for the main bot itself.

earwigbot.wiki.copyright requires access to a search engine for detecting copyright violations. Currently, Yahoo! BOSS is the only engine supported, and this requires oauth2.