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.

README.rst 3.4 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. EarwigBot
  2. =========
  3. EarwigBot_ is a Python_ robot that edits Wikipedia_ and interacts with people
  4. over IRC_.
  5. History
  6. -------
  7. Development began, based on the `Pywikipedia framework`_, in early 2009.
  8. Approval for its fist task, a `copyright violation detector`_, was carried out
  9. in May, and the bot has been running consistently ever since (with the
  10. exception of Jan/Feb 2011). It currently handles `several ongoing tasks`_
  11. ranging from statistics generation to category cleanup, and on-demand tasks
  12. such as WikiProject template tagging. Since it started running, the bot has
  13. made over 50,000 edits.
  14. A project to rewrite it from scratch began in early April 2011, thus moving
  15. away from the Pywikipedia framework and allowing for less overall code, better
  16. integration between bot parts, and easier maintenance.
  17. Installation
  18. ------------
  19. This package contains the core ``earwigbot``, abstracted enough that it should
  20. be usable and customizable by anyone running a bot on a MediaWiki site. Since
  21. it is component-based, the IRC components can be disabled if desired. IRC
  22. commands and bot tasks specific to `my instance of EarwigBot`_ are available
  23. from the package `earwigbot-plugins`_.
  24. Latest release (v0.1)
  25. ~~~~~~~~~~~~~~~~~~~~~
  26. EarwigBot is available from the `Python Package Index`_, so you can install the
  27. latest release with ``pip install earwigbot`` (`get pip`_).
  28. You can also install it from source [1]_ directly::
  29. curl -Lo earwigbot.tgz "https://github.com/earwig/earwigbot/tarball/v0.1"
  30. tar -xf earwigbot.tgz
  31. cd earwig-earwigbot-*
  32. python setup.py install
  33. cd ..
  34. rm -r earwigbot.tgz earwig-earwigbot-*
  35. Development version
  36. ~~~~~~~~~~~~~~~~~~~
  37. You can install the development version of the bot from ``git`` by using
  38. setuptools/distribute's ``develop`` command [1]_, probably on the ``develop``
  39. branch which contains (usually) working code. ``master`` contains the latest
  40. release. EarwigBot uses `git flow`_, so you're free to
  41. browse by tags or by new features (``feature/*`` branches)::
  42. git clone git://github.com/earwig/earwigbot.git earwigbot
  43. cd earwigbot
  44. python setup.py develop
  45. Setup
  46. -----
  47. It's recommended to run the bot's unit tests before installing. Run
  48. ``python setup.py test`` from the project's root directory.
  49. *Note:* some unit tests require an internet connection.
  50. Customizing
  51. -----------
  52. Hacking
  53. -------
  54. Footnotes
  55. ---------
  56. .. _EarwigBot: http://en.wikipedia.org/wiki/User:EarwigBot
  57. .. _Python: http://python.org/
  58. .. _Wikipedia: http://en.wikipedia.org/
  59. .. _IRC: http://en.wikipedia.org/wiki/Internet_Relay_Chat
  60. .. _Pywikipedia framework: http://pywikipediabot.sourceforge.net/
  61. .. _copyright violation detector: http://en.wikipedia.org/wiki/Wikipedia:Bots/Requests_for_approval/EarwigBot_1
  62. .. _several ongoing tasks: http://en.wikipedia.org/wiki/User:EarwigBot#Tasks
  63. .. _my instance of EarwigBot: http://en.wikipedia.org/wiki/User:EarwigBot
  64. .. _earwigbot-plugins: https://github.com/earwig/earwigbot-plugins
  65. .. _Python Package Index: http://pypi.python.org
  66. .. _get pip: http://pypi.python.org/pypi/pip
  67. .. _git flow: http://nvie.com/posts/a-successful-git-branching-model/
  68. .. [1] ``python setup.py install``/``develop`` may require root, or use the
  69. ``--user`` switch to install for the current user only