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.8 KiB

12 vuotta sitten
12 vuotta sitten
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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. - **welcome**: automatically welcomes people who join a particular channel.
  43. Welcoming is restricted to web IRC users, i.e. users whose hostname starts
  44. with `gateway/web/`. In the command's config section, use channel names as
  45. keys and welcome messages as values; the string `{nick}` will be replaced by
  46. their nickname. The `!welcome` command can be used by bot admins to enable or
  47. disable welcomes in a particular channel.
  48. Bot Tasks
  49. ---------
  50. - **afc_catdelink**: delinks mainspace categories (or templates, if necessary)
  51. in declined [AFC](http://en.wikipedia.org/wiki/WP:AFC) submissions.
  52. - **afc_copyvios**: checks newly-edited AFC submissions for copyright
  53. violations using the bot's built-in copyvio checking support. Takes multiple
  54. config values, including connection info for a MySQL database to store
  55. processed pages and a cache (disabled by default; usable by the
  56. [toolserver interface](https://toolserver.org/~earwig/copyvios)). A script to
  57. create the database is in `tasks/schema/afc_copyvios.sql`.
  58. - **afc_dailycats**: creates daily, monthly, and yearly categories for AFC.
  59. - **afc_history**: generates charts about AFC submissions over time, including
  60. number of pending submissions throughout the project's history as well as
  61. counts for individual reviewers. Takes multiple config values, including
  62. MySQL database info. A script to create the database is in
  63. `tasks/schema/afc_history.sql`.
  64. - **afc_statistics**: generates statistics for AFC on the current number of
  65. pending submissions and recently declined or accepted ones. Takes multiple
  66. config values, including MySQL database info. A script to create the database
  67. is in `tasks/schema/afc_statistics.sql`.
  68. - **afc_undated**: periodically clears
  69. [Category:Undated AfC submissions](http://en.wikipedia.org/wiki/Category:Undated_AfC_submissions).
  70. - **blp_tag**: adds `|blp=yes to` `{{WPB}}` or `{{WPBS}}` when it is used along
  71. with ``{{WP Biography}}``.
  72. - **drn_clerkbot**: clerks the
  73. [dispute resolution noticeboard](http://en.wikipedia.org/wiki/WP:DRN),
  74. updating case statuses, building a chart, and notifying users. Takes multiple
  75. config values, including MySQL database info. A script to create the database
  76. is in `tasks/schema/drn_clerkbot.sql`.
  77. - **image_display_resize**: resizes upscaled portraits in infoboxes.
  78. - **infobox_station**: replaces specific deprecated infoboxes following a
  79. template discussion.