Jump to content

User:HBC Archive Indexerbot

From Wikipedia, the free encyclopedia
This bot is no longer active on Wikipedia.

This bot is approved. HighInBC (Need help? Ask me) 00:48, 9 December 2006 (UTC)


I am an automated bot coded and operated by HighInBC and Krellis. I can read through piles of talk page archives and produce a handy index of topics with links. This will allow you to browse or search the entire archive for keywords or recurring discussions. Anyone can request that I service any page on the English Wikipedia, simply follow the easy instructions below!


To use this service you need archives, a destination page, and a page for the request.

  1. First create a destination page (the one you want the index to be written to, typically ending in /Archive index) and place the following text on this page: <!-- Legobot can blank this -->
    This will not be visible, as it is contained in HTML comment tags; this gives the bot permission to write to the page. You MUST create this page and place the tag on it, the bot WILL NOT create it for you automatically!
  2. On the root page of the archives you want indexed, usually the talk page itself, place the following code, replacing the items in <> with the appropriate values as described below: {{User:HBC Archive Indexerbot/OptIn|target=<target>|mask=<mask>|leading_zeros=<zeros>|indexhere=<indexhere>|template=<template location>}}
    1. <target> is your destination page (created in step 1). Note that this must be the full page name, including the namespace. A relative path may be specified, and will be assumed to be relative to the page on which the OptIn code is placed. If you are unsure, full paths are always best.
    2. <mask> is used to describe how to find your archives, see below for details. You may specify multiple masks by specifying mask1=<mask>, mask2=<mask>, mask3=<mask>... Pages matching all of the masks will be combined together for the final index. Again, the mask must be the full page name, or a relative path such as /Archive <#>.
    3. <zeros> is the number of leading 0s in your archive title, "Archive 01" would be 1 leading zero, "Archive 1" is 0 leading zeros.
    4. <indexhere> should be yes or no. If yes, it will index the root talk page the request is on as well as the archive pages.
    5. <template location> is the name of a wiki page containing an archive index template. The template syntax is described below. This parameter is optional, and if left out or left blank, the default template will be applied.
  3. Wait; the next time the bot runs it should write your report.


Your mask is simply the path of your archives with the numbers replaced with <#>.


User talk:HighInBC/Archive <#> would cover User talk:HighInBC/Archive 1 through the last archive.

If your archive has leading zeros, then set the leading_zeros parameter to the number of leading zeros you have.

If your archives are named using dates rather than numbers, or by topic, you can specify multiple mask parameters in the template, each of which will be read in turn. If there's no incrementing number, simply do not include the <#> in the mask, and it will be used as an individual page name instead.


Templates are defined as a series of HTML comments followed by wikitext for each part of the page. See the default template for an example template definition. Each section is introduced with an HTML comment consisting of only the section name. All content from the next line until the next section heading is considered to be part of the section. Blank lines inside sections are ignored. The possible sections of a template are:

Section Name Description
LEAD Introductory text, to be placed at the top of the archive index page.
HEADER A header for the index, placed after the bot's description of how the index was created, but before any rows of data are output. Typically used to begin a table, create column headings, etc.
ROW The format of an actual row of data. There are a number of variables available in the row:
  • %%topic%% - The topic from the archives, as pulled from the archive heading.
  • %%replies%% - The estimated number of replies contained within that section of the archive.
  • %%link%% - A link directly to the appropriate section in the appropriate archive for this topic.
  • %%first%% - Timestamp of first comment in the topic (YYYY-MM-DD HH:MM:SS format). Available in epoch seconds as %%firstepoch%%.
  • %%last%% - Timestamp of last comment in the topic (YYYY-MM-DD HH:MM:SS format). Available in epoch seconds as %%lastepoch%%.
  • %%duration%% - Duration of the topic (difference between first and last, in normalized text format). Available in raw seconds as %%durationsecs%%.

This section is required (and this is the only section required in a template, all others are optional).

ALTROW The format of an alternating row. If provided, this section will be used instead of the "Row" section for every other row of data, starting with the second. It is generally used to alternate row colors within a table. The same variables described in "Row" above are available.
FOOTER A footer, output immediately after the last row of data. Generally used to close a table, if one was started in the header.
TAIL A final section below the footer, for any comments, bottom-of-page navigation, categories, etc.
END Indicates that the template definition is over, no more parsing will take place.


For example, when using the HBC Archive Indexerbot (now Legobot) to index the talk discussions on the Wikipedia talk:WikiProject Television project page, to list on Wikipedia talk:WikiProject Television/Archive index, the following code would be used:

{{User:HBC Archive Indexerbot/OptIn |target=Wikipedia talk:WikiProject Television/Archive index |mask=Wikipedia talk:WikiProject Television/Archive <#> |leading_zeros=0 |indexhere=yes }}


The index page (<target>) can be specified as the index parameter for the {{Archives}} template. This will create a clickable link at the top of the box for accessing the generated index.


The bot is currently scheduled to run twice per day, at 11:23 and 23:23 UTC. It may run at additional times beyond those, and may miss some scheduled runs while it is under continued development/bugfixing.


  • Very long sets of archives such as Wikipedia:Administrators' noticeboard/IncidentArchive<#> will not archive due to timeout errors and maximum page size.
  • When using sortable table for results, the %%duration%% will sort alphabetically, which is probably unfavourable behavior. To work around this, use invisible %%durationsec%% variable like this: <span style="display: none;">%%durationsecs%%</span> %%duration%%



The Tireless Contributor Barnstar
Let's face it, this bot just keeps on archiving and never gives up. It deserves a pat on the back and a botsnack. Irbisgreif (talk) 02:09, 1 August 2009 (UTC)

See also[edit]