Open main menu

Wikisource-bot

Joined 30 August 2014

It is seen that this is a Wikisource community derived bot, currently hosted on Toollabs: and will undertake basic maintenance tasks and required by the community. It is currently operated by billinghurst, mpaa and John Vandenberg, and other willing participants are welcome to approach one of those local administrators to request access. At a point, we will work out how the community can manage this bot, and appoint its maintainers; and determine how it can be most useful for the broader Wikisource community, rather than just English Wikisource. Wikisource-bot (talk) 14:29, 30 August 2014 (UTC)

At this point in time, the tasks to be undertaken

  • Archiving talk pages. Currently only English Wikisource, other wikis welcome to be added upon request
  • Patrol whitelist (pending). A means to patrol the edits of people by defined means, eg. by work.

As of July 2018, this bot is performing null edits on many pages to correct a problem in which they do not display properly on Index: pages. See this discussion for more information.

User talk page archivingEdit

This bot is using archivebot.py to undertake archiving of user talk pages, and functions in the same way as MiszaBot at other wikis. Instructions on configuration are similar to those explained at w:User:MiszaBot/Archive HowTo

Parameters explainedEdit

{{User:wikisource-bot/config 
| archive             = 
| algo                = 
| counter             = 
| maxarchivesize      = 
| minthreadsleft      = 
| minthreadstoarchive = 
| archiveheader       = 
| key                 = 
}}
Parameter Description
archive Name of the page to which archived threads will be put. This parameter supports the use of variables, which can be used to create dynamically named archives (such as using date ranges). Note that magic words and templates do not work with this parameter, and unless a key is supplied (see below), the target page must be a subpage of the current page.
algo Algorithm that instructs the bot how to decide whether to archive a thread or not. Complex formulas (including regex matching) will be available in the future, but so far it must be of the form old(...) where ... specifies the maximum age of a thread (in hours or days: 24h, 72h, 5d, 21d etc.)
counter The current value of the counter. If the %(counter)d variable is not used, it is ignored. MiszaBot will update this parameter as necessary.
maxarchivesize The maximum archive size before incrementing the counter. Ignored if counter is not used. The values used must be in a #K format, using a capital letter "K". For example: maxarchivesize=256K
minthreadsleft The minimum number of threads that should be left on a page (to prevent pages from getting completely harvested). Default value: 5
minthreadstoarchive The minimum number of threads to archive at one time, which is used to lower edit frequency. MiszaBot will not archive threads when fewer than the value of this parameter would be archived. Default value: 2
archiveheader Content that will be put on new archive pages as the header. This parameter supports the use of variables. The value of this parameter Cannot be multiline! Use a template such as {{archive header}} at English Wikisource. The Default value is {{talk archive}}.

VariablesEdit

Variable parameter Expands to...
%(counter)d the current value of the counter
%(year)d year of the thread being archived
%(month)d month (as a number 1-12) of the thread being archived
%(monthname)s English name of the month above
%(monthnameshort)s first three letters of the name above

Those python-savvy people will immediately recognize these variables are filled at runtime with the % operator and should know how to adjust the format. A few points of interest to others:

  • make sure you don't mess up the last letter after the brackets (it's "d" for integers and "s" for strings)
  • integer variables may be left-padded with zeros:
    %(counter)03d evaluates to 013 if the counter's value equals 13,
    %(month)02d becomes 05 for May etc.

Typical exampleEdit

{{User:wikisource-bot/config
| archive = User talk:
your username/Archives/%(year)d
| algo = old(31d)
| archiveheader = {{archive header}}
}}

Delaying or preventing archiving of particular threadsEdit

Archiving can be delayed for a particular thread by substituting the template {{DNAU}} into the thread. Use {{subst:DNAU}} to retain a thread indefinitely, or {{subst:DNAU|<integer>}} to retain a thread for <integer> days. see the template documentation for details about its use and function.