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 5.1 KiB

12 vuotta sitten
12 vuotta sitten
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  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. - **lta_monitor**: monitors for LTAs. No further information is available.
  27. - **praise**: adds a simple way for the bot respond to ad-hoc commands based on
  28. entries in `praise`'s config (in the `"praises"` dictionary). Its original
  29. intention was to implement silly "easter eggs" praising certain users; for
  30. example, `"!earwig"` would make the bot say "Earwig is the bestest Python
  31. programmer ever!". This would be implemented by having an entry in
  32. `"praises"` with the key `"earwig"` and the value
  33. `"Earwig is the bestest Python programmer ever!"`.
  34. - **rc_monitor**: monitors the recent changes feed for certain edits and
  35. reports them to a dedicated channel. The channel is stored under the
  36. `"channel"` key in the command's dictionary. Reportable edits match various
  37. heuristics, like urgent speedy taggings.
  38. - **stars**: gets the number of stargazers for (i.e., people starring) a given
  39. [GitHub](https://github.com/) repository.
  40. - **urbandictionary**: looks up terms on
  41. [Urban Dictionary](https://www.urbandictionary.com/). Separated from the main
  42. command list because these are often distasteful or unwanted.
  43. - **weather**: gives current weather information for a location from
  44. [Weather Underground](http://www.wunderground.com/). Requires an API key
  45. stored in its config as `"apiKey"`, which should be stored encrypted if that
  46. option is enabled.
  47. - **welcome**: automatically welcomes people who join a particular channel.
  48. Welcoming is restricted to web IRC users, i.e. users whose hostname starts
  49. with `gateway/web/`. In the command's config section, use channel names as
  50. keys and welcome messages as values; the string `{nick}` will be replaced by
  51. their nickname. The `!welcome` command can be used by bot admins to enable or
  52. disable welcomes in a particular channel.
  53. Bot Tasks
  54. ---------
  55. - **afc_catdelink**: delinks mainspace categories (or templates, if necessary)
  56. in declined [AfC](http://en.wikipedia.org/wiki/WP:AFC) submissions.
  57. - **afc_copyvios**: checks newly-edited AfC submissions for copyright
  58. violations using the bot's built-in copyvio checking support. Takes multiple
  59. config values, including connection info for a MySQL database to store
  60. processed pages and a cache (disabled by default; usable by the
  61. [web interface](https://tools.wmflabs.org/copyvios)). A script to create the
  62. database is in `tasks/schema/afc_copyvios.sql`.
  63. - **afc_dailycats**: creates daily, monthly, and yearly categories for AfC.
  64. - **afc_history**: generates charts about AfC submissions over time, including
  65. number of pending submissions throughout the project's history as well as
  66. counts for individual reviewers. Takes multiple config values, including
  67. MySQL database info. A script to create the database is in
  68. `tasks/schema/afc_history.sql`.
  69. - **afc_statistics**: generates statistics for AfC on the current number of
  70. pending submissions and recently declined or accepted ones. Takes multiple
  71. config values, including MySQL database info. A script to create the database
  72. is in `tasks/schema/afc_statistics.sql`.
  73. - **afc_undated**: periodically clears
  74. [Category:Undated AfC submissions](http://en.wikipedia.org/wiki/Category:Undated_AfC_submissions).
  75. - **blp_tag**: adds `|blp=yes to` `{{WPB}}` or `{{WPBS}}` when it is used along
  76. with ``{{WP Biography}}``.
  77. - **drn_clerkbot**: clerks the
  78. [dispute resolution noticeboard](http://en.wikipedia.org/wiki/WP:DRN),
  79. updating case statuses, building a chart, and notifying users. Takes multiple
  80. config values, including MySQL database info. A script to create the database
  81. is in `tasks/schema/drn_clerkbot.sql`.
  82. - **infobox_station**: replaces specific deprecated infoboxes following a
  83. template discussion.