User:Dexbot/Archivebot/doc

Setting up archiving
Put the following template at the top of the page that you want automatically archived:



Well, maybe not exactly that (read about required options below), but that's how it's done. By the way, the template has no content and is sysop-protected, so don't worry about visual appearance. :)

The bot expects to see exactly one parameter per line. The closing }} must be on its own line. There must be no leading spaces before the pipes, and no blank lines. If you drop out the newlines used in the above example, e.g. by wrapping the template invocation onto a single line, the bot may not do what you expect.

Also, the template must be located:
 * 1) before the first ==second level header== on the page
 * 2) on the actual page and not transcluded from a subpage, such as a page header, etc.

Quick examples
To get the hang of it – configuration may not be intuitive, but it's flexible and gives potentially vast possibilities.


 * Please change "User talk:Example" to the exact name of your own page!
 * If it's still not working, read about the "minthreadsleft" and "minthreadstoarchive" parameters below.

Example 1: Static archive


(Please remember, this is an example and this exact code won't work on your page)

This setup archives threads from User talk:Example to User talk:Example/Archive after they are 7 days old (counting from newest timestamp). The archive will freeze when it becomes 2000KB large. Probably not a very useful config (unless for sending threads to a periodically cleaned trash bin or to decide yourself when to go to the next archive page), but it's easiest, so I'm mentioning it first.

Example 2: Incremental archives


(Please remember, this is an example and this exact code won't work on your page. Use the copy paste section below!)



This tells the bot to archive threads over thirty days old (leaving the four most recent) from User talk:Example to User talk:Example/Archive 1 (more about variables below) until it fills up to 150 kilobytes, whereupon the bot will move to 2 (updating the counter when saving page). Remember to specify the maximum size of an archive, or it will behave pretty much like in the first example. In addition, each archive page is given a Aan banner, which makes it easy to move between the different archive pages.

Example 3: Date-based archives


(Please remember, this is an example and this exact code won't work on your page. Use the copy paste section below!)



In this configuration, threads older than 5 days will land in archives depending on their date (that is newest timestamp). You can read about other variables below.

Variables
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.

After you have set up archiving
The bot runs once a day at a preset hour, or twice a day for WP:AN and WP:AN/I. Simply wait for the next cycle and you should see the bot's entries in the history list of your article providing there was anything to archive, and the history list entry should provide a link to the archive page you specified.

Various templates will produce an automatic list of archive subpages. Typically, such a template will be added to the top-level talk page to make archives easier to find. Simply add the template name in  where you want it to appear. Popular templates used for this purpose include:
 * . If you use, use this with.
 * (this template has other functions, but can include a list of archives and a search box)
 * (this template has other functions, but can include a list of archives and a search box)

A related but distinct function is templates that appear in the archived talk pages themselves. For instance:

Delaying or preventing archiving of particular threads
Archiving can be delayed for a particular thread by substituting the template DNAU into the thread. Use to retain a thread for a long time, or  to retain a thread for &lt;integer&gt; days. Please see the template documentation for details about its use and function.

Missing signatures
One potential problem is that lowercase sigmabot III does not archive sections that have no signatures. However editors sometimes forget to sign a comment so it may ignore old sections while archiving more recent ones.

One option is to manually archive sections that are unintentionally unsigned. The other option, which allows lowercase sigmabot III to archive an unsigned section is to add a signature of the editor to the last comment in the section.

You can add missing signatures to the talk page by using the templates {{subst:unsigned}}, {{subst:unsigned2}}, {{subst:unsigned IP}}, or {{subst:xsign}}. Only the last comment added to a section needs to have a signature for lowercase sigmabot III to archive the section. This is now automatically added by User:SineBot.

If the talk page history is large, it may prove time consuming to find when a specific comment was added. WikiBlame will reduce the time it takes to find who added an unsigned comment.

Template output
When parameter key is provided, the only output of the template is categorization into Category:Pages archived using a key. Otherwise, the template outputs a single self closed tag. This is a trick, which makes it easier to deal with potential vertical whitespace issues.

Causes of no archiving
Some of the possible reasons for a page not being archived:
 * archive does not specify a subpage of the page to be archived. This can for example happen after a move where the parameter needs updating.
 * Archive bot has not run. Archiving usually runs once a day. See the latest activity at Special:Contributions/Lowercase sigmabot III.
 * One of the sections to be archived has an external link matching MediaWiki:Spam-blacklist or commons:MediaWiki:Spam-blacklist. Nothing will be archived. Manual archiving will also fail since blacklisted links cannot be saved. They can be deactivated with .
 * minthreadstoarchive is larger than the current number of sections ready for archiving.
 * minthreadsleft is too large to currently allow any archiving.
 * old(...) is currently too long for any archiving.
 * The archiving instructions are not placed somewhere before the first section heading.
 * The archiving instructions are placed within another template's code.
 * The parameters are not arranged with exactly one per line.
 * If some sections are archived but not others then they may have no signature with a valid time stamp. Please see above.
 * If your article title contains certain punctuation characters . Please see Help:Archiving a talk page for an explanation and solution.