A Python robot that edits Wikipedia and interacts with people over IRC https://en.wikipedia.org/wiki/User:EarwigBot
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
Ben Kurtovic 54739d5553 Update references to Wiki Toolset, plus other fixes 12 anni fa
earwigbot Update references to Wiki Toolset, plus other fixes 12 anni fa
tests Updates to setup.py, unit tests, and logging 12 anni fa
.gitignore Updates to setup.py, unit tests, and logging 12 anni fa
LICENSE Copyright update for 2012. 12 anni fa
README.md Some code for copyvio detection, including querying Yahoo! BOSS correctly. 12 anni fa
setup.py Update references to Wiki Toolset, plus other fixes 12 anni fa

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.