This user account is a bot operated by Beetstra (talk). It is used to make repetitive automated or semi-automated edits that would be extremely tedious to do manually, in accordance with the bot policy. The bot is currently inactive but retains the approval of the community. Administrators: if this bot is malfunctioning or causing harm, please block it. |
GETTING THERE
TOGETHER, WE CAN MAKE THIS ENCYCLOPEDIA A RELIABLE SOURCE
(I hope)
General
I reserve the right to turn off the editing privileges for the bot (either completely, or per infobox)
and change any other settings!
This bot is used to monitor changes to infoboxes in mainspace. These changes can be compared to verified/off-mainspace copies of the boxes. Such changes can be logged to a log connected to the wikiproject who is the (main) maintainer of the infobox. For infoboxes where the functionality has been enabled, it also adds parameters to the infoboxes which help to track changes to the verified information.
What was it programmed for?
Some of the typical information that is available from Wikipedia is verifiably correct ('true'). That type of info is not likely to change without a major change throughout the world, or throughout Wikipedia. Examples of such 'immutable' type of information are:
- The boiling point of water is 100 °C (under the normal conditions)
- The birth date of John F. Kennedy is May 29, 1917.
Information of this type is generally put into infoboxes. They contain parameters and fields which result in the data being formatted and displayed, e.g.:
- The infobox on the page water would contain:
boilingpoint = 100
which would be displayed as:
Boiling point: 100 °C
- The infobox on John F. Kennedy would contain:
Birthdate = {{Birthday|29|5|1917}}
which would be displayed as:
Date of birth: May 29, 1917
Changes to these values on these two pages are easily seen, and many people know which one is 'correct'. However, for less famous people and for less known chemical compounds (or whatever infobox we are talking about), such values are not known. It is then difficult to detect (and one would have to find the literature and check) if the change is resulting in a correct value, or in an incorrect value.
Wikipedia contains a plethora of such information. On practically every single page there is an infobox, and practically all possible infoboxes contain information which is verifiably correct.
What is the bot doing?
For the more basic operation, it simply tries to see if an edit is changing a field in one of the infoboxes it follows. It does this by loading the current and previous revid of the page, extract the infoboxes from these pages. From the infoboxes it creates a list of the fields in those two boxes, and compares the content. Changed content is reported. This can be reported to an IRC channel, or be logged.
A couple of WikiProjects have taken up the gigantic task, of, page by page, checking certain of the values. When they have verified that those values are correct, they record the revid of the page containing the correct values, and index these revids. When such an index exists, the bot also compares the value in the current version of the page with the values in the 'verified revid', and when values are changed, those can also be reported to an IRC channel, or be logged.
When the bot detects fields which have changed from since the 'verified revid', it can add or update parameters in the affected infobox. These parameters can be used to add or to the displaying of the box, or to just categorise these boxes so they can be reviewed.
It is not restoring values to the verified version, it only adds parameters which can be used to notify changes since a verified version.
Operation
All settings explained below are defined in User:CheMoBot/Settings. This page is fully protected, so values can only be changed by an administrator.
Boxes
CheMoBot needs to be told, which boxes to follow. From the list of boxes that it follows it creates (from Special:Whatlinkshere) a list of pages which it needs to monitor. CheMoBot will parse the changes when a page on this list gets edited.
Telling CheMoBot to follow an infobox can be done by adapting the value of the parameter <boxes>:
boxes=Chembox|Drugbox|Reactionbox
(Currently disabled:|Infobox_Royalty|Infobox_officeholder|Infobox_Person)
Make sure that you use the real name of the infobox, do not use template redirects, as it will give erratic results. However, the redirects need to be defined as another parameter, vide infra.
Per followed infobox, a set of parameters can be defined, which are all explained below. These parameters are named after the infobox, by appending the name of the infobox with an underscore and the parameter, e.g. for the infobox 'Chembox' there is a sub-parameter 'channel', so the full name is 'chembox_channel':
chembox_channel=#wikichem
If the name of the infobox template contains space, then they have to be replaced with underscores, and all characters have to be converted to lowercase. Below I will use 'infobox' denoting that it is a 'per infobox' parameter.
Fields
Fields in infoboxes can be divided into two categories: those which can be verified and be 'correct' (like the boiling point of water; that should have the value '100', and that is not likely to change or the birthday of John F. Kennedy), and those which are more subject to the editorial taste (compounds related to water; such a field is not likely to have a 'correct' value, or the awards of John F. Kennedy, where e.g. the order of the fields can change).
Watched fields
The fields which can be verified are the fields that CheMoBot can watch for changes, and are denoted 'watched fields', the remaining fields are 'other fields'.
To tell CheMoBot which fields to follow, use 'infobox_watchedfields, e.g.
infobox_royalty_watchedfields=birth_place|death_place|website
tells the bot that for the Infobox Royalty the fields to watch are 'birth_place', 'death_place', and 'website'
A special set of watched fields are the verified fields, which are explained below.
Verified fields
A subset (or all) of the watched fields can be denoted as 'verified fields'. The bot treats verified fields slightly different than watched fields. For both watched and verified fields the bot follows the changes, but for the verified fields the value in the revid is checked and correct, whereas that does not have to be the case for the watched fields.
Example:
For the {{chembox}} both the field 'CASNo' and the field 'BoilingPt' are immutable data. However, the project related to these boxes has decided to only verify the CASNo first, and when the CASNo is correct, to record the revid in the index. The BoilingPt may very well also be correct, but that has not yet been verified. The settings for the chembox are hence:
chembox_watchedfields=BoilingPt chembox_verifiedfields=CASNo
When someone edits a verified page changing both the BoilingPt and the CASNo, then CheMoBot will alert that the BoilingPt has changed (but it does not know that it changed from or to correct), for the CASNo it will report that it changed from a correct or incorrect value.
Manual
Operation
IRC
Output
Commands
Command | Function | Example |
---|---|---|
wl add <username> <page> wl add <username> * |
Adds <username> to the whitelist for <page> Use * for all pages |
CheMoBot wl add Beetstra Water CheMoBot wl add Beetstra * |
wl del <username> <page> | Removes link between <username> and <page> from whitelist | CheMoBot wl del Beetstra Water |
wl search <username> <page> wl search user <username> wl search string <page> |
Searches if the link is on the whitelist searches if username is on the whitelist, reports to which pages they is linked searches if pagename is on the whitelist, reports to which username it is linked |
CheMoBot wl search Beetstra Water CheMoBot wl search user Beetstra CheMoBot wl search page Water |
bl add <username> <page> | Adds <username> to the blacklist for <page>. If <user> edits this page, the bot will report. | CheMoBot bl add Beetstra Water |
bl del <username> <page> | Removes link between <username> and <page> from blacklist | CheMoBot bl del Beetstra Water |
bl search <username> <page> bl search user <username> bl search string <page> |
Searches if the link is on the blacklist searches if username is on the blacklist, reports to which pages they is linked searches if pagename is on the blacklist, reports to which username it is linked |
CheMoBot bl search Beetstra Water CheMoBot bl search user Beetstra CheMoBot bl search page Water |
ml add <page> | Starts monitoring <page>, if any not-whitelisted user edits this page, the bot will report. | CheMoBot ml add Water |
ml del <page> | removes <page> from monitorlist | CheMoBot ml del Water |
ml search <page> | searches if <page> is on monitorlist | CheMoBot ml del Water |
fieldlist <boxname> | lists all fields monitored for a certain box | CheMoBot fieldlist Drugbox |
managers <boxname> | lists all managers for a certain box | CheMoBot managers Drugbox |
boxlist | lists all boxes monitored | CheMoBot boxlist |
quiet/silent | silences the bot | CheMoBot quiet |
report | return reporting back on after a 'quiet' or 'silent' | CheMoBot report |
reportlevel <level> | sets reportlevel (0 = silence, 1 = high priority changes, 2 = all changes) | CheMoBot reportlevel 1 |
status | status messages (uptime, reportlevel) | CheMoBot status |
die/quit | quits the bot (only by User:Beetstra and User:Versageek) | CheMoBot quit |
help | shows available helpmessages | CheMoBot help |
help <command> | shows help for command | CheMoBot help wl |