Additional IRC commands and bot tasks for EarwigBot 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.md 4.3 KiB

12 years ago
12 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. EarwigBot Plugins
  2. =================
  3. Additional IRC commands and bot tasks for
  4. [EarwigBot](https://github.com/earwig/earwigbot). They are included separately
  5. due to being outside of most peoples' use cases, or because they require
  6. additional setup aside from the main bot. To install, place the command or task
  7. file in its respective subdirectory in the bot's working directory (the same
  8. one that contains its config file).
  9. IRC Commands
  10. ------------
  11. - **AFC-related commands** (*afc_pending*, *afc_report*, *afc_status*,
  12. *afc_submissions*): implements various services for
  13. [Articles for creation](http://en.wikipedia.org/wiki/WP:AFC). It has no
  14. dependencies, but `afc_report` requires the `afc_statistics` task plugin for
  15. parsing submissions. `afc_submissions` accepts a config option,
  16. `"ignoreList"`, a list of page titles to skip; it will try to use
  17. `afc_statistics`'s ignore list if none is defined.
  18. - **geolocate**: implements an IP geolocator using
  19. [ipinfodb](http://ipinfodb.com/). Requires an API key stored in its config as
  20. `"apiKey"`, which should be stored encrypted if that option is enabled.
  21. - **git**: allows the bot to carry out basic git maintenance functions, like
  22. pulling and checking out branches on repositories. A list of repo paths
  23. should be stored in its config as `"repos"`. Has one dependency,
  24. [GitPython](http://packages.python.org/GitPython), which can be installed
  25. with `pip install GitPython`.
  26. - **praise**: adds a simple way for the bot respond to ad-hoc commands based on
  27. entries in `praise`'s config (in the `"praises"` dictionary). Its original
  28. intention was to implement silly "easter eggs" praising certain users; for
  29. example, `"!earwig"` would make the bot say "Earwig is the bestest Python
  30. programmer ever!". This would be implemented by having an entry in
  31. `"praises"` with the key `"earwig"` and the value
  32. `"Earwig is the bestest Python programmer ever!"`.
  33. - **stars**: gets the number of stargazers for (i.e., people starring) a given
  34. [GitHub](https://github.com/) repository.
  35. - **urbandictionary**: looks up terms on
  36. [Urban Dictionary](https://www.urbandictionary.com/). Separated from the main
  37. command list because these are often distasteful or unwanted.
  38. - **weather**: gives current weather information for a location from
  39. [Weather Underground](http://www.wunderground.com/). Requires an API key
  40. stored in its config as `"apiKey"`, which should be stored encrypted if that
  41. option is enabled.
  42. Bot Tasks
  43. ---------
  44. - **afc_catdelink**: delinks mainspace categories (or templates, if necessary)
  45. in declined [AFC](http://en.wikipedia.org/wiki/WP:AFC) submissions.
  46. - **afc_copyvios**: checks newly-edited AFC submissions for copyright
  47. violations using the bot's built-in copyvio checking support. Takes multiple
  48. config values, including connection info for a MySQL database to store
  49. processed pages and a cache (disabled by default; usable by the
  50. [toolserver interface](https://toolserver.org/~earwig/copyvios)). A script to
  51. create the database is in `tasks/schema/afc_copyvios.sql`.
  52. - **afc_dailycats**: creates daily, monthly, and yearly categories for AFC.
  53. - **afc_history**: generates charts about AFC submissions over time, including
  54. number of pending submissions throughout the project's history as well as
  55. counts for individual reviewers. Takes multiple config values, including
  56. MySQL database info. A script to create the database is in
  57. `tasks/schema/afc_history.sql`.
  58. - **afc_statistics**: generates statistics for AFC on the current number of
  59. pending submissions and recently declined or accepted ones. Takes multiple
  60. config values, including MySQL database info. A script to create the database
  61. is in `tasks/schema/afc_statistics.sql`.
  62. - **afc_undated**: periodically clears
  63. [Category:Undated AfC submissions](http://en.wikipedia.org/wiki/Category:Undated_AfC_submissions).
  64. - **blp_tag**: adds `|blp=yes to` `{{WPB}}` or `{{WPBS}}` when it is used along
  65. with ``{{WP Biography}}``.
  66. - **drn_clerkbot**: clerks the
  67. [dispute resolution noticeboard](http://en.wikipedia.org/wiki/WP:DRN),
  68. updating case statuses, building a chart, and notifying users. Takes multiple
  69. config values, including MySQL database info. A script to create the database
  70. is in `tasks/schema/drn_clerkbot.sql`.
  71. - **image_display_resize**: resizes upscaled portraits in infoboxes.