A Python robot that edits Wikipedia and interacts with people over IRC https://en.wikipedia.org/wiki/User:EarwigBot
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Ben Kurtovic d8ab0f3539 autoping and autoreconnect for site connections 12 vuotta sitten
earwigbot autoping and autoreconnect for site connections 12 vuotta sitten
tests Sites use their own logger instead of sharing one with the toolset 12 vuotta sitten
.gitignore Updates to setup.py, unit tests, and logging 12 vuotta sitten
LICENSE Copyright update for 2012. 12 vuotta sitten
README.md Some code for copyvio detection, including querying Yahoo! BOSS correctly. 13 vuotta sitten
setup.py git version info, logging updates, utility 12 vuotta sitten

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.