A Python robot that edits Wikipedia and interacts with people over IRC https://en.wikipedia.org/wiki/User:EarwigBot
Você não pode selecionar mais de 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 d8ab0f3539 autoping and autoreconnect for site connections 12 anos atrás
earwigbot autoping and autoreconnect for site connections 12 anos atrás
tests Sites use their own logger instead of sharing one with the toolset 12 anos atrás
.gitignore Updates to setup.py, unit tests, and logging 12 anos atrás
LICENSE Copyright update for 2012. 12 anos atrás
README.md Some code for copyvio detection, including querying Yahoo! BOSS correctly. 13 anos atrás
setup.py git version info, logging updates, utility 12 anos atrás

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.