RationalWiki:Bots

Bots (short for "robots") are (usually small) computer programs/scripts created to perform repetitive tasks or to ease routine maintenance of a website.

On wikis Bot is a class of user which is usually such a program, although some users have Bot alteregos so that repetitive tasks won't clog up Special:RecentChanges.

A current list of RW's bots can be found here (there are ). Any of these which are generally applicable should have usage instructions on their user page.

Edit filter
Blocks people who trigger certain edit filters.

Inferno Bot
The fifth incarnation of a talkpage archival bot. Configurable with a template. See userpage for instructions.

Archiver
Approximately the fourth incarnation of a talk page archiving bot. Works the same as the others.

Archives talkpages. See userpage for full instructions and details -- including how to run it, if ever disappears.

Captures links as an image and/or on archive.is.

To capture it as an image and archive.is:


 * http://example.com will produce: http://example.com . After a while the bot will find the red img link and upload a file there.

For only archive.is:


 * will produce:

Full instructions on user page.

Archives old discussions, like Pibot did for many years. It should work the same as pibot, and pages that previously used pibot should™ work.

Basic instructions; copy/paste this at the top of a talkpage:

Full instructions on user page.

Fixes double redirects and removes broken redirects.

Archives old WIGO entries.

How to make your own
You can talk to the API at http://rationalwiki.org/w/api.php. See the MediaWiki help pages.

Pywikibot
It's probably easiest to use a framework like Pywikibot. You want to use the new "core" version, not the old "compat".

Getting started
Follow the installation instructions to install Pywikibot & dependencies (note: some systems also have packages for Pywikibot: ).

Now create the  family; this will tell Pywikibot how to interact with the RationalWiki API:

python3.4 generate_family_file.py http://rationalwiki.org/wiki/Main_Page rationalwiki

will give you a family file in. The default will do fine for most cases.

You'll need to edit the : mylang = 'en' family = 'rationalwiki' usernames['rationalwiki']['en'] = 'MummificationBot' Finally, test your setup with, which should prompt for the login password for your bot, and then output   The password should be remembered.

Multiple accounts
Pywikibot only supports a single account name; for separate accounts you could use something along the lines of this in your :

import os, sys mylang = 'en' family = 'rationalwiki' user = os.getenv('RW_USER')

valid = { 'MummificationBot': 'store password here if you want', 'RedirectBot': 'store password here if you want', } if user not in valid.keys: print('No such user; valid users: {}'.format(valid.keys)) sys.exit(1) print(user) usernames['rationalwiki']['en'] = user del user del valid

Now just set the  environment variable before running the script:

RW_USER=MummificationBot python pwb.py login

An alternative is using separate Pywikibot directories (this is the documented way, but a bit silly).