Manual:Pywikibot/Scripts

This is a list of the existing bots with links to their descriptions. Many of the red linked scripts with no pages are found in the Pywikipediabot main folder.

{|class="wikitable sortable" !Name !Description
 * -style="background-color:#DFDFDF"

Global bot scripts

 * ../interwiki.py/
 * Creates Interlanguage links between a project
 * ../redirect.py/
 * Fixes double redirects, and deletes broken redirects
 * -style="background-color:#DFDFDF"
 * Fixes double redirects, and deletes broken redirects
 * -style="background-color:#DFDFDF"

Main bot scripts

 * ../add_text.py/
 * Adds text at the top or end of pages
 * ../category.py/
 * Manages categories
 * ../imagecopy.py/
 * Copies images from a wikimedia wiki to Commons
 * ../replace.py/
 * Edits using text replacement
 * ../solve_disambiguation.py/
 * Fixes disambiguation pages
 * ../table2wiki.py/
 * Converts HTML tables to MediaWiki markup
 * ../upload.py/
 * Uploads images to a wiki
 * ../weblinkchecker.py/
 * Finds broken external links
 * -style="background-color:#DFDFDF"
 * Converts HTML tables to MediaWiki markup
 * ../upload.py/
 * Uploads images to a wiki
 * ../weblinkchecker.py/
 * Finds broken external links
 * -style="background-color:#DFDFDF"
 * Finds broken external links
 * -style="background-color:#DFDFDF"

Auxiliary programs

 * ../clean_sandbox.py/
 * This bot cleans a sandbox by replacing the current contents with predefined text.
 * ../cosmetic_changes.py/
 * Makes the wiki source code look cleaner, invoked by other scripts
 * ../login.py/
 * Used to log in
 * ../version.py/
 * Outputs Pywikipedia's revision number and Python's version
 * ../lonelypages.py/
 * Place a template on pages which are not linked to by other pages, and are therefore lonely
 * ../selflink.py/
 * Allows the operator to decide what to do about self links; e.g.  on the page
 * -style="background-color:#DFDFDF"
 * ../lonelypages.py/
 * Place a template on pages which are not linked to by other pages, and are therefore lonely
 * ../selflink.py/
 * Allows the operator to decide what to do about self links; e.g.  on the page
 * -style="background-color:#DFDFDF"
 * -style="background-color:#DFDFDF"

Libraries

 * ../catlib.py/
 * Library to work with category pages
 * ../date.py/
 * Library for parsing date pages, dates and digits
 * ../exceptions.py/
 * Exception classes used throughout the framework
 * ../i18n.py/
 * Various i18n functions, both for the internal translation system and for TranslateWiki-based translations
 * ../pagegenerators.py/
 * page generating library
 * ../plural.py/
 * plural rules for i18n
 * ../textlib.py/
 * Functions for manipulating wiki-text
 * ../throttle.py/
 * throttle class library to slow down wiki read and/or write rate
 * ../tools.py/
 * Miscellaneous helper functions for threads, lists and iterators
 * ../wikipedia.py/
 * The main library the other scripts use
 * ../query.py/
 * API query library
 * -style="background-color:#DFDFDF"
 * throttle class library to slow down wiki read and/or write rate
 * ../tools.py/
 * Miscellaneous helper functions for threads, lists and iterators
 * ../wikipedia.py/
 * The main library the other scripts use
 * ../query.py/
 * API query library
 * -style="background-color:#DFDFDF"
 * ../query.py/
 * API query library
 * -style="background-color:#DFDFDF"

Other bot scripts

 * ../basic.py/
 * This is not a complete bot; rather, it is a template from which simple bots can be made.
 * ../copyright.py/
 * Checks for text violating copyright by looking for matches in search engines
 * ../standardize_interwiki.py/
 * Moves interwiki links into standard locations
 * ../warnfile.py/
 * creates backlinks from a interwiki.log file
 * ../welcome.py/
 * Used to welcome new users
 * -style="background-color:#DFDFDF"
 * creates backlinks from a interwiki.log file
 * ../welcome.py/
 * Used to welcome new users
 * -style="background-color:#DFDFDF"
 * -style="background-color:#DFDFDF"

Change general pages

 * ../archivebot.py/
 * Archives discussion threads
 * ../delete.py/
 * Deletes pages en masse
 * ../movepages.py/
 * Moves page to another title
 * ../pagefromfile.py/
 * Creates pages from a text file
 * ../standardize_notes.py/
 * Refactors references and citations
 * -style="background-color:#DFDFDF"
 * Creates pages from a text file
 * ../standardize_notes.py/
 * Refactors references and citations
 * -style="background-color:#DFDFDF"
 * -style="background-color:#DFDFDF"

Categories

 * ../catall.py/
 * Adds or changes categories
 * ../category_redirect.py/
 * Redirects pages etc. from one category to another.
 * ../commons_category_redirect.py/
 * This bot cleans Commons:Category:Non-empty category redirects by moving all the files, pages and categories from redirected category to the target category.
 * ../commonscat.py/
 * Adds commonscat to Wikipedia categories (or articles), if other language wikipedia already has such template
 * ../commons_link.py/
 * Adds commonscat and commons to Wikipedia articles, if same name category or gallery exist on Commons.
 * ../imagerecat.py/
 * Try to find categories for media on Commons
 * ../imageuncat.py/
 * Program to add uncat template to images without categories at Commons.
 * ../makecat.py/
 * Uses the links on a page to quickly populate a category
 * -style="background-color:#DFDFDF"
 * Try to find categories for media on Commons
 * ../imageuncat.py/
 * Program to add uncat template to images without categories at Commons.
 * ../makecat.py/
 * Uses the links on a page to quickly populate a category
 * -style="background-color:#DFDFDF"
 * Uses the links on a page to quickly populate a category
 * -style="background-color:#DFDFDF"

Images

 * ../delinker.py/
 * Bot delinks and replaces images
 * ../flickrripper.py/
 * upload images from Flickr easily
 * ../imageharvest.py/
 * Copies multiple images to a wiki
 * ../imagetransfer.py/
 * Copies images to another wiki
 * ../image.py/
 * Used to change one image to another or remove an image entirely.
 * ../inline_images.py/
 * This bot goes over multiple pages of the home wiki, and looks for images that are linked inline (i.e., they are hosted from an external server and hotlinked, instead of using the wiki's upload function.
 * ../panoramiopicker.py/
 * upload images from Panoramio easily
 * unusedfiles.py
 * finds unused media using Special:Unusedimages.
 * -style="background-color:#DFDFDF"
 * This bot goes over multiple pages of the home wiki, and looks for images that are linked inline (i.e., they are hosted from an external server and hotlinked, instead of using the wiki's upload function.
 * ../panoramiopicker.py/
 * upload images from Panoramio easily
 * unusedfiles.py
 * finds unused media using Special:Unusedimages.
 * -style="background-color:#DFDFDF"
 * finds unused media using Special:Unusedimages.
 * -style="background-color:#DFDFDF"

IRC scripts

 * ../maintainer.py/
 * ../maintcont.py/
 * ../rciw.py/
 * A IRC script to check for Recent Changes through IRC, and to check for interwikis in those recently modified articles. Can not be run manually/directly, but is run automatically by maintainer.py.
 * ../rcsort.py/
 * ../wikilogbot.py/
 * This script makes it easy to log messages from IRC to a wiki page.
 * -style="background-color:#DFDFDF"
 * A IRC script to check for Recent Changes through IRC, and to check for interwikis in those recently modified articles. Can not be run manually/directly, but is run automatically by maintainer.py.
 * ../rcsort.py/
 * ../wikilogbot.py/
 * This script makes it easy to log messages from IRC to a wiki page.
 * -style="background-color:#DFDFDF"
 * ../wikilogbot.py/
 * This script makes it easy to log messages from IRC to a wiki page.
 * -style="background-color:#DFDFDF"

Page protection

 * ../blockpageschecker.py/
 * Deletes any protection templates that are on pages which aren't actually protected.
 * ../protect.py/
 * Protect and unprotect pages en masse.
 * -style="background-color:#DFDFDF"
 * Protect and unprotect pages en masse.
 * -style="background-color:#DFDFDF"

Templates

 * ../template.py/
 * Replaces one template with another, in a way that is easier to use than ../replace.py/ in most instances
 * ../templatecount.py/
 * Counts or lists the instances where templates are used
 * -style="background-color:#DFDFDF"
 * Counts or lists the instances where templates are used
 * -style="background-color:#DFDFDF"

Unsorted scripts

 * ../articlenos.py/
 * Displays the ordinal number of the new articles being created visible on the Recent Changes list.
 * ../BeautifulSoup.py/
 * ../capitalize_redirects.py/
 * Bot to create capitalized redirects where the first character of the first word is uppercase and the remaining characters and words are lowercase.
 * ../casechecker.py/
 * Script to enumerate all pages on the wiki and find all titles with mixed latin and cyrilic alphabets.
 * ../censure.py/
 * Bad word checker bot
 * ../cfd.py/
 * This script processes the Categories for discussion working page. It parses out the actions that need to be taken as a result of CFD discussions (as posted to the working page by an administrator) and performs them.
 * ../checkimages.py/
 * Script to check recently uploaded files. This script checks if a file description is present and if there are other problems in the image's description.
 * ../config.py/
 * ../copyright_clean.py/
 * ../copyright_put.py/
 * ../daemonize.py/
 * ../deledpimage.py/
 * ../disambredir.py/
 * Goes through the disambiguation pages, checks their links, and asks for each link that goes to a redirect page whether it should be replaced.
 * ../diskcache.py/
 * ../djvutext.py/
 * Extracts OCR text from djvu files and uploads onto pages in the "Page" namespace on Wikisource.
 * ../editarticle.py/
 * Edit a Wikipedia article with your favourite editor.
 * ../extract_wikilinks.py/
 * ../family.py/
 * ../featured.py/
 * ../fixes.py/
 * Stores predefined replacements for replace.py.
 * ../fixing_redirects.py/
 * ../followlive.py/
 * ../generate_user_files.py/
 * Creates user-config.py and user-fixes.py.
 * ../get.py/
 * Very simple script which gets a page and writes its contents to standard output. This makes it possible to pipe the text to another process.
 * ../gui.py/
 * A TKinter window with a unicode text field where the user can e.g. edit the contents of an article.
 * ../interwiki_graph.py/
 * ../isbn.py/
 * This script goes over multiple pages of the home wiki, and reports invalid ISBN numbers, converts to ISBN-13 from ISBN-10 and places hyphens.
 * ../logindata.py/
 * ../match_images.py/
 * ../misspelling.py/
 * ../mysql_autoconnection.py/
 * ../noreferences.py/
 * ../nowcommons.py/
 * ../pageimport.py/
 * ../piper.py/
 * This is a bot that uses external filtering programs to munge the article text.
 * ../reflinks.py/
 * ../revertbot.py/
 * ../saveHTML.py/
 * ../simple_family.py/
 * ../spamremove.py/
 * ../speedy_delete.py/
 * ../spellcheck.py/
 * ../splitwarning.py/
 * ../statistics_in_wikitable.py/
 * ../testfamily.py/
 * ../titletranslate.py/
 * ../touch.py/
 * Purge a page in order to refresh relations and not waiting for the queue
 * ../udp-log.py/
 * ../unlink.py/
 * ../user-config.py/
 * ../user-config.py.example/
 * ../user-fixes.py/
 * Stores predefined replacements for replace.py.
 * ../userlib.py/
 * ../us-states.py/
 * ../watchlist.py/
 * ../wikicomserver.py/
 * ../wikipediatools.py/
 * ../wiktionary.py/
 * ../xmlreader.py/
 * ../xmltest.py/
 * -style="background-color:#DFDFDF"
 * ../isbn.py/
 * This script goes over multiple pages of the home wiki, and reports invalid ISBN numbers, converts to ISBN-13 from ISBN-10 and places hyphens.
 * ../logindata.py/
 * ../match_images.py/
 * ../misspelling.py/
 * ../mysql_autoconnection.py/
 * ../noreferences.py/
 * ../nowcommons.py/
 * ../pageimport.py/
 * ../piper.py/
 * This is a bot that uses external filtering programs to munge the article text.
 * ../reflinks.py/
 * ../revertbot.py/
 * ../saveHTML.py/
 * ../simple_family.py/
 * ../spamremove.py/
 * ../speedy_delete.py/
 * ../spellcheck.py/
 * ../splitwarning.py/
 * ../statistics_in_wikitable.py/
 * ../testfamily.py/
 * ../titletranslate.py/
 * ../touch.py/
 * Purge a page in order to refresh relations and not waiting for the queue
 * ../udp-log.py/
 * ../unlink.py/
 * ../user-config.py/
 * ../user-config.py.example/
 * ../user-fixes.py/
 * Stores predefined replacements for replace.py.
 * ../userlib.py/
 * ../us-states.py/
 * ../watchlist.py/
 * ../wikicomserver.py/
 * ../wikipediatools.py/
 * ../wiktionary.py/
 * ../xmlreader.py/
 * ../xmltest.py/
 * -style="background-color:#DFDFDF"
 * ../spamremove.py/
 * ../speedy_delete.py/
 * ../spellcheck.py/
 * ../splitwarning.py/
 * ../statistics_in_wikitable.py/
 * ../testfamily.py/
 * ../titletranslate.py/
 * ../touch.py/
 * Purge a page in order to refresh relations and not waiting for the queue
 * ../udp-log.py/
 * ../unlink.py/
 * ../user-config.py/
 * ../user-config.py.example/
 * ../user-fixes.py/
 * Stores predefined replacements for replace.py.
 * ../userlib.py/
 * ../us-states.py/
 * ../watchlist.py/
 * ../wikicomserver.py/
 * ../wikipediatools.py/
 * ../wiktionary.py/
 * ../xmlreader.py/
 * ../xmltest.py/
 * -style="background-color:#DFDFDF"
 * ../udp-log.py/
 * ../unlink.py/
 * ../user-config.py/
 * ../user-config.py.example/
 * ../user-fixes.py/
 * Stores predefined replacements for replace.py.
 * ../userlib.py/
 * ../us-states.py/
 * ../watchlist.py/
 * ../wikicomserver.py/
 * ../wikipediatools.py/
 * ../wiktionary.py/
 * ../xmlreader.py/
 * ../xmltest.py/
 * -style="background-color:#DFDFDF"
 * ../userlib.py/
 * ../us-states.py/
 * ../watchlist.py/
 * ../wikicomserver.py/
 * ../wikipediatools.py/
 * ../wiktionary.py/
 * ../xmlreader.py/
 * ../xmltest.py/
 * -style="background-color:#DFDFDF"
 * ../wikicomserver.py/
 * ../wikipediatools.py/
 * ../wiktionary.py/
 * ../xmlreader.py/
 * ../xmltest.py/
 * -style="background-color:#DFDFDF"
 * ../wiktionary.py/
 * ../xmlreader.py/
 * ../xmltest.py/
 * -style="background-color:#DFDFDF"
 * ../xmlreader.py/
 * ../xmltest.py/
 * -style="background-color:#DFDFDF"
 * ../xmltest.py/
 * -style="background-color:#DFDFDF"
 * -style="background-color:#DFDFDF"

Deprecated scripts

 * ../test.py/
 * ../touchall.py/
 * When a record needs to be changed in order to refresh relations
 * }
 * ../touchall.py/
 * When a record needs to be changed in order to refresh relations
 * }