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.
Ben Kurtovic fe5ed6c7b0 Add mode to cache data per new schema. 10 years ago
commands Fixes for new Draft: namespace. 10 years ago
tasks Add mode to cache data per new schema. 10 years ago
.gitignore Documentation updates, some fixes. 12 years ago
README.md More 12 years ago

README.md

EarwigBot Plugins

Additional IRC commands and bot tasks for EarwigBot. They are included separately due to being outside of most peoples’ use cases, or because they require additional setup aside from the main bot. To install, place the command or task file in its respective subdirectory in the bot’s working directory (the same one that contains its config file).

IRC Commands

  • AFC-related commands (afc_pending, afc_report, afc_status, afc_submissions): implements various services for Articles for creation. It has no dependencies, but afc_report requires the afc_statistics task plugin for parsing submissions. afc_submissions accepts a config option, "ignoreList", a list of page titles to skip; it will try to use afc_statistics's ignore list if none is defined.

  • geolocate: implements an IP geolocator using ipinfodb. Requires an API key stored in its config as "apiKey", which should be stored encrypted if that option is enabled.

  • git: allows the bot to carry out basic git maintenance functions, like pulling and checking out branches on repositories. A list of repo paths should be stored in its config as "repos". Has one dependency, GitPython, which can be installed with pip install GitPython.

  • praise: adds a simple way for the bot respond to ad-hoc commands based on entries in praise's config (in the "praises" dictionary). Its original intention was to implement silly “easter eggs” praising certain users; for example, "!earwig" would make the bot say “Earwig is the bestest Python programmer ever!". This would be implemented by having an entry in "praises" with the key "earwig" and the value "Earwig is the bestest Python programmer ever!".

Bot Tasks

  • afc_catdelink: delinks mainspace categories (or templates, if necessary) in declined AFC submissions.

  • afc_copyvios: checks newly-edited AFC submissions for copyright violations using the bot’s built-in copyvio checking support. Takes multiple config values, including connection info for a MySQL database to store processed pages and a cache (disabled by default; usable by the toolserver interface). A script to create the database is in tasks/schema/afc_copyvios.sql.

  • afc_dailycats: creates daily, monthly, and yearly categories for AFC.

  • afc_history: generates charts about AFC submissions over time, including number of pending submissions throughout the project’s history as well as counts for individual reviewers. Takes multiple config values, including MySQL database info. A script to create the database is in tasks/schema/afc_history.sql.

  • afc_statistics: generates statistics for AFC on the current number of pending submissions and recently declined or accepted ones. Takes multiple config values, including MySQL database info. A script to create the database is in tasks/schema/afc_statistics.sql.

  • afc_undated: periodically clears Category:Undated AfC submissions.

  • blp_tag: adds |blp=yes to {{WPB}} or {{WPBS}} when it is used along with {{WP Biography}}.

  • drn_clerkbot: clerks the dispute resolution noticeboard, updating case statuses, building a chart, and notifying users. Takes multiple config values, including MySQL database info. A script to create the database is in tasks/schema/drn_clerkbot.sql.

  • image_display_resize: resizes upscaled portraits in infoboxes.