This guide hopes to be an easy-to-use introduction to the use of pywikipediabot on Wikia.

What is Pywikipediabot?Edit

Pywikipedia bot is a set of powerful wiki tools written in Python for performing automated tasks on wikis. It's ran on a command line interface, which seems a lot harder to use for the newcomer than AutoWikiBrowser, but it can do a lot of things that AWB cannot, and the command line interface makes it faster once you're familiar with how it works.

Setting up the botEdit

Firstly, you'll need another account on Wikia to act as a bot account. Staff can flag this with a bot flag after you have discussed this with your community (typically on a forum or blog post). A bot flag allows bot edits to be hidden from RecentChanges. Use Special:Contact on your wiki to request a bot flag after your community has discussed this.



If you're running Mac or Linux, Python should be pre-installed, so you can skip this step. Windows users should go to and download and install the latest python with the version number starting with 2 (at the time of writing this is 2.7.3). Warning: Pywikipediabot does not support python version 3 - do not use it, and (unless you need it for something else) don't install it.

Downloading pywikipediabotEdit

Download from the link and extract somewhere sensible (I extracted mine at C:\Pybot).

Technically minded folks might prefer to download the bot via SVN, if you don't know what this means, I'd recommend getting the .zip, it will work just fine.
svn checkout pywikipedia

Installing Notepad++ (optional)Edit

Although not required, Notepad++ is a free text editor that offers regex find and replace and syntax highlighting which can be a godsend when trying to get a list of pages to delete. Download it here. When editing text that the bot will be working on, set the encoding to UTF-8 on Notepad++, you can do this in the Encoding menu at the top.

Generating family and user filesEdit

  1. Launch a command line.
    PybotTT Gen Family running on windows

    • Windows users should press start, click run and type "cmd" and press enter.
    • Mac Users, it's apparently in /Applications/Utilities/ - and called Terminal.
    • Linux users press alt+f2 and type the name of their favorite terminal emulator (for example "xterm").
  2. Change the directory in the command line to the directory that you extracted
    • On windows, the command is cd, so if you extracted the file to C:\Pybot, then type cd C:\Pybot
    • On mac and linux, the command is also cd, File paths are different in Linux, windows uses the \ for file paths, whilst Linux uses / and I have no idea what mac does.
  3. Once you're in the Pywikipediabot directory, run the script
    • In windows, simply type (windows associates the file type .py with python if you installed python correctly). Mac and linux users should type "python". If you press the tab key after typing a few letters the terminal should automatically fill out the rest of the file name. Once you've started the script, follow the instructions.
    • If you're switching wikis, you'll need to generate a family file for each wiki you want to edit, but there's no need to do this now.
    • Feel free to say "no" to the question "Do you want to generate interwiki links?" - you're only going to be working on your local language version of the wiki.
  4. Then run the script - choose option 1 then type the number in the list corresponding to the family file you just generated. In the username field, give the name of your bot account.

Adding an admin account (optional) and logging inEdit

If you want to add an admin account (only admins can delete pages), you'll need to edit, you can find it in your pywikipediabot directory. Open it in Notepad++. You should see a file similar to this:
# -*- coding: utf-8  -*-
family = 'community'
mylang = 'en'
usernames['community']['en'] = u'Team_Nimrod'
If you wanted to add an admin account to this file, add a line below called sysopnames with the same syntax as the usernames line, i.e.
sysopnames['community']['en'] = u'Randomtime'

Note that Usernames and sysopnames can be the same name, if you gave your bot account admin rights. If you do this, remember that those admin actions will be hidden from Recent Changes if the bot has a bot flag.

Now we're ready to test the bot to see if it works. Go back to your command line and run
enter the password for your bot account, the script should return
Logging in to community:en as Team_Nimrod via API.
Should be logged in now

Changing wikisEdit

If you ever want to change the wiki your bot is working on, run for the new wiki and then edit to change the family for the old wiki for the new. I.e., if I wanted to change the above file for the CoD wiki (I called the CoD wiki's family file "cod"):
# -*- coding: utf-8  -*-
family = 'cod'
mylang = 'en'
usernames['cod']['en'] = u'Team_Nimrod'
sysopnames['cod']['en'] = u'Randomtime'

Now what?Edit

Now you've set up the bot, you shouldn't need to touch many of the configuration files again. Pywikipediabot contains a lot of different scripts that can do various tasks on your wiki - you'll have to find the right tool for the job and read up on how to use it. There are plenty of examples on the manual pages at

As an example of what you can do, I'm going to run you through using to rename a category on my test wiki. I'm going to be moving Category:CoD 3 Achievements to Category:Cod 3 Achievements.

  1. Firslty, I go to the page on the manual, and I read up on how works.
  2. The manual says that the command I need is " move". I type that into the command line.
  3. I receive the output: Please enter the old name of the category: and Please enter the old name of new category:, and fill it in.
  4. The bot works on it, tells me if there are any errors, and finishes.
Updating page [[Assault Trooper]] via API
Updating page [[Basic Training (CoD 3)]] via API
Updating page [[Battlefield Scavenger]] via API
Updating page [[Big Air]] via API
Updating page [[Canadian Highlander]] via API
Updating page [[Polish Tanker]] via API
Updating page [[Purple Heart (CoD 3)]] via API
Updating page [[Rifleman (CoD 3)]] via API
Updating page [[Supply Officer]] via API
Getting [[Category:CoD 3 Achievements]] list...

The category is now empty, it's moved. The bot's task is done. Simples.

If you have any questions, feel free to ask me in the comments.

Community content is available under CC-BY-SA unless otherwise noted.