A Python robot that edits Wikipedia and interacts with people over IRC https://en.wikipedia.org/wiki/User:EarwigBot

README.md 1.8 KiB

123456789101112131415161718192021222324252627282930313233343536373839
  1. [EarwigBot](http://en.wikipedia.org/wiki/User:EarwigBot) is a
  2. [Python](http://python.org/) robot that edits
  3. [Wikipedia](http://en.wikipedia.org/) and interacts with people over
  4. [IRC](http://en.wikipedia.org/wiki/Internet_Relay_Chat).
  5. # History
  6. Development began, based on the
  7. [Pywikipedia framework](http://pywikipediabot.sourceforge.net/), in early 2009.
  8. Approval for its fist task, a
  9. [copyright violation detector](http://en.wikipedia.org/wiki/Wikipedia:Bots/Requests_for_approval/EarwigBot_1),
  10. was carried out in May, and the bot has been running consistently ever since
  11. (with the exception of Jan/Feb 2011). It currently handles
  12. [several ongoing tasks](http://en.wikipedia.org/wiki/User:EarwigBot#Tasks),
  13. ranging from statistics generation to category cleanup, and on-demand tasks
  14. such as WikiProject template tagging. Since it started running, the bot has
  15. made over 45,000 edits.
  16. A project to rewrite it from scratch began in early April 2011, thus moving
  17. away from the Pywikipedia framework and allowing for less overall code, better
  18. integration between bot parts, and easier maintenance.
  19. # Installation
  20. ## Dependencies
  21. EarwigBot uses the MySQL library
  22. [oursql](http://packages.python.org/oursql/) (>= 0.9.2) for communicating with
  23. MediaWiki databases, and some tasks use their own tables for storage.
  24. Additionally, the afc_history task uses
  25. [matplotlib](http://matplotlib.sourceforge.net/) and
  26. [numpy](http://numpy.scipy.org/) for graphing AfC statistics. Neither of these
  27. modules are required for the main bot itself.
  28. `earwigbot.wiki.copyright` requires access to a search engine for detecting
  29. copyright violations. Currently,
  30. [Yahoo! BOSS](http://developer.yahoo.com/search/boss/) is the only engine
  31. supported, and this requires
  32. [oauth2](https://github.com/simplegeo/python-oauth2).