A Python robot that edits Wikipedia and interacts with people over IRC https://en.wikipedia.org/wiki/User:EarwigBot
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
Ben Kurtovic f698981aa3 Break up Site._api_query() into three methods for readability há 12 anos
earwigbot Break up Site._api_query() into three methods for readability há 12 anos
tests Updates to setup.py, unit tests, and logging há 12 anos
.gitignore Updates to setup.py, unit tests, and logging há 12 anos
LICENSE Copyright update for 2012. há 12 anos
README.md Some code for copyvio detection, including querying Yahoo! BOSS correctly. há 13 anos
setup.py git version info, logging updates, utility há 12 anos

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.