ClueBot III
Thisuser accountis abotoperated byRich Smith(talk)andDamianZaremba(talk).It is used to make repetitiveautomatedorsemi-automatededits that would be extremely tedious to do manually, in accordance with thebot policy.The bot is approved and currently active – the relevantrequest for approvalcan be seenhere. Administrators: if this bot is malfunctioning or causing harm, pleaseblock it. |
Emergency bot shutoff button
Administrators:Use this button if the bot is malfunctioning. (direct link)
Non-administrators can a malfunctioning bot toWikipedia:Administrators' noticeboard/Incidents.
This user is abot | |
---|---|
(talk·contribs) | |
Operator | Rich Smith,DamianZaremba |
Approved? | Yes,BRFA. |
Flagged? | Yes. |
Edit period(s) | Continually |
Automatic or manual? | Automatic |
Programming language(s) | PHP, custom code utilizing api.php, query.php, and index.php. |
Exclusion compliant? | Yes |
Emergency shutoff-compliant? | Yes |
Other information | ClueBot III is run from theWikimedia Toolforgeinfrastructure. |
ClueBots | |
---|---|
ClueBot NG/Anti-vandalism·ClueBot II/ClueBot Script | |
ClueBot III/Archive·Talk page for all ClueBots |
Administrator emergency shutoff
Administrators may turn the bot off by changingthis pageto 'False'.
Exclusion compliant
This bot is anexclusion compliant bot.
This template is used onmany pagesand changes may be widely noticed. Test changes in the template's/sandboxor/testcasessubpages, or in your ownuser subpage.Consider discussing changes on thetalk pagebefore implementing them. |
Quick start
If you want to take default options and just get archives up and running on your page, just place this at the top of the talk page you want archived:{{subst:User:ClueBot III/JustArchiveThis}}
.
If you want to configure it more, read on for how to use the full ArchiveThis template. You can use {{subst:Setup cluebot archiving}} to automatically add a talk header, an archiving notice, and/or a list of archives.
How your page is archived
ClueBot III can be used to automatically archive sections/threads from a given page. Usually the page you are archiving from will be a talk page. Your archive pages can be organized by date, or numbered. Combinations of dates and numbering are also possible. This is configured by the arguments used for theformatandarchiveprefixparameters. Please see theparameter descriptionsandexamplesfor a few of the many ways to do this.
How does ClueBot III know when to archive my page?
ClueBot III works based on therevision historyof the page in question, andnot on the timestampsassociated with signatures. This means that the practice of manually adding a timestamp way in the future will not work to prevent ClueBot III from archiving a thread. Furthermore, on one archival sweep, ClueBot III will select an archive target and will archive all eligible threads to that archive. This means that when you initially set up ClueBot III, if you have untidy archives then, it will sweep all of the old conversations into whatever archive it deems to be the current one. It also means that pages with massively long discussion threads will have the entire thread archived into the current archive, which can cause slight overstuffing of size-based archives.
Keeping linked
Once a series of threads is archived, ClueBot III looks for all pages that linked to the moved parts, and updates the links to point to the archives, ensuring that no links are broken.
ClueBot III can correctly handle most talk pages, but may not be able to handle pages with a largewhat links herelist, as the link updating process will take a lot of time and may prevent other pages from being archived (seeUser talk:Jimbo Wales/Archive_202#Conspiracy Unveiled). Consider usinglowercase sigmabot IIIto archive pages that are linked to from many places.
Index generation
In addition to archiving your page, ClueBot III can also generate an index of all your archive pages. Assuming that you are archiving the pageTalk:YourPage,the archive index generated by ClueBot III is located at:
User:ClueBot III/Master Detailed Indices/Talk:YourPage
You can make use of this either directly or by transcluding it onto yourTalk:YourPage/Archive indexpage. One way to use this directly would be to include it as the archive index page in your archive box. For example:{{Archives |auto= short |index= User:ClueBot III/Master Detailed Indices/{{FULLPAGENAME}} |search= yes |bot= ClueBot III |age= 90}}
will produce an archive box with an appropriate link to your index.
The{{talk header}}template automatically detects the existence of this index and will link it accordingly.
General template format
The general format for the archive template:
{{User:ClueBot III/ArchiveThis |archiveprefix= |format= |age= }}
Required parameters
age
Type:unsigned integer
Default:0
Description:This parameter must be set to the number ofhoursa thread can go without a reply before it should be archived. If you do not set itallthreads will qualify to be archived. For 30 days, enter 720, and for one year, enter 8760.
archiveprefix
Type:string
Description:This parameter must be set to a fully qualified page name under the page you wish to archive. For example, ifUser talk:Cobiwas being archived using dated archives, thenarchiveprefix=User talk:Cobi/Archives/
would be appropriate. For the same page being archived with numbered archives,archiveprefix=User talk:Cobi/Archive
would be appropriate. Not setting this parameter correctly can have some strange results. The{{FULLPAGENAME}}variable can not actually be passed to ClueBot III. The fully qualified page name must be hard coded. The easiest way to do this is to use immediatesubstitutionas follows:
For archives organized by date enter:
|archiveprefix={{subst:#titleparts:{{subst:FULLPAGENAME}}}}/Archives/
For numbered archives enter (note/Archiveinstead of/Archives/):
|archiveprefix={{subst:#titleparts:{{subst:FULLPAGENAME}}}}/Archive
Warning: system variables such as {{SUBST:FULLPAGENAME}} are replaced by the page name to be archived when the system variable is saved to the page to be archived. However some punctuation characters that can appear in a page name ("&'
) are replaced by HTML character codes that are not recognised by the bot (seePAGENAMEE encodingfor details about these and other characters). For example'
is replaced with'
(so if the bot is to work then'
must be replaced with'
.This can be circumvented by using{{SUBST:#titleparts:{{SUBST:FULLPAGENAME}}}}
to automatically sort the encoding.
format
Type:string
Default:""
Description:This parameter must be set to a valid argument toPHP'sdate()function. You may also include an%%ivalue.%%iis for numbered archives instead of dated archives, and is replaced with the archive number. Once variable substitution has occurred it will be concatenated onto the end of the value ofarchiveprefix.The result of the concatenation will be the name of the archive page(s). See examples. Most commonly, for archives organized by date use:
|format=Y/F
.
This gives "Archives/2016/January". In order to obtain "Archives/2016/01 (January)", use|format=Y/m (F)
.
For numbered archives use (note the single space after the equals sign):
|format= %%i
Note for date-based archives: Cluebot III stores files into asinglearchive page each time it runs. With date-based archives, the page name is whateverarchiveprefixconcatenated withformatis for the date that is NOW-age (where age is in hours). For example, if you are starting up YYYY/Month archiving from scratch with many old threads in the page being archived, ClueBot III will putallof the threads into a single file, not multiple files. If you want a single archiving run to be split into multiple files based on the last date in each thread you will need to uselowercase sigmabot III.
Note:format= %%i
is better in most cases.format=Y/F
can end up as many tiny archives that can take forever to look through manually when a user is not sure what search term to look for with the archive search tool.
Optional parameters
These parameters control the behavior of the archiver.
archivenow
Type:comma delimited array of strings
Default:""
Description:This optional parameter should contain a comma separated list of strings for which ClueBot III will search within the threads on the page. If any of these strings are found in a thread, the bot will archive the thread immediately. The bot will also convert{{templates}}in this list to{{tl|escaped templates}}upon archival. This could be useful for pages where{{resolved}}or such is used. The {{User:ClueBot III/ArchiveNow}} blank template is available for this use. However, it has no special properties. It is only just another string that happens to be a template for which ClueBot III can be told to search. In addition to the following typical usage, an example of its use isshown below.
Typical usage:|archivenow=<nowiki>{{User:ClueBot III/ArchiveNow}}</nowiki>
header
Type:string
Default:"{{Archive}}"
Description:When creating a new archive page, the bot will put this at the top of the new page.
headerlevel
Type:unsigned integer, between 1 and 7 inclusive
Default:2
Description:This is the header level for the threads the bot will archive. Anything on the page before the first header of this level will not be archived. A level 1 header is= Header =
,a default thread (level 2) header is== Header ==
,and the highest level header is a level 7:======= Header =======
.
key
Type:string
Default:""
Description:The value of this parameter must match an internally generated key in order for the archives to be stored anywhere other than as subpages of the page being archived.
maxarchsize
Type:unsigned integer, greater than 10000
Default:0
Description:The target maximum size of the archive in bytes before%%i(seeformat) is incremented. If 0, this is disabled. In general, this parameter is used for numbered archives, but not for archives organized by date. This is not a hard limit. Resulting archive page sizes will almost always exceed this number, perhaps by a great amount. Each time ClueBot III runs on a page it archives all threads that are old enough to qualify for archiving into asinglefile. If you havemaxarchsize=100000
with a current archive file size of 90k and it ends up that there are 60 threads to archive with a total size of 250k, then the current archive will be extended to 340k despite the 100k limit.
maxkeepbytes
Type:unsigned integer
Default:0
Description:If greater than 0, this is the maximum number of thread content bytes to keep on the talk page. Older threads are forcibly archived if there are more than this number of thread content bytes on the page. If 0, this option is disabled.
maxkeepthreads
Type:unsigned integer
Default:0
Description:If greater than 0, this is the maximum number of threads to keep on the talk page. Older threads are forcibly archived if there are more than this number of threads on the page. If 0, this option is disabled.
minarchthreads
Type:unsigned integer
Default:0
Description:The bot will not archive unless this many or more sections need archival.
minkeepthreads
Type:unsigned integer
Default:0
Description:The bot will not archive if there will be this many or less sections left on the page.
nogenerateindex
Type:unsigned integer (boolean)
Default:0
Description:If this is set to 1, the bot will not generate an index underUser:ClueBot III/Indices/.There arevery fewtimes this option should be used. If this option is used, theindexoption will no longer work right.
numberstart
Type:unsigned integer
Default:1
Description:Default value for%%iinformat.
transformheaderWarning! An invalid option here can screw up your archives!
Type:string,search===replacepairs delimited by&&&
Default:""
Description:Convert archived thread headers. For each pair,searchmust be a valid regular expression andreplaceis a replacement string. Seethisfor more information,searchcorresponds to$pattern,replacecorresponds to$replacement,and the thread header corresponds to$subject.If you do not understand what this does, don't try to use it. Instead, ask for help fromCobi.
Cosmetic parameters
These parameters are shaping the archive box displayed on the page where archiving is active.
Archives |
No archives yet.
|
This page is archived byClueBot III.
|
archivebox
Type:string ( "yes" or "no" )
Default:"no"
Description:Causes an archive box to be displayed similar to{{archives}}
The example archive box is with non-default value ofarchivebox=yes
.
box-width
Type:string
Default:"238px"
Description:The width of the archive box. This parameter is only valid ifarchivebox=yes.
Archives |
No archives yet.
|
This page is archived byClueBot III.
|
box-advert
Type:string ( "yes" or "no" )
Default:"no"
Description:Displays the string "This page is archived byClueBot III."at the bottom of the archive box. This parameter is only valid ifarchivebox=yes
.
The example archive box is with non-default value ofbox-advert=yes
.Compare this example to the example next to thearchiveboxparameter.
Archives |
No archives yet.
|
This page is archived byClueBot III.
|
box-separator
Type:string ( "yes" or "no" )
Default:"yes"
Description:Display separator lines in the archive box. This parameter is only valid ifarchivebox=yes
.
The example archive box is with non-default value ofbox-separator=no
.Compare this example to the example next to thearchiveboxparameter.
Archives |
No archives yet.
|
This page is archived byClueBot III.
|
image
Type:string
Default:"[[File:Crystal Clear app file-manager.png]]"
Description:If set this is an alternate image file to use as the archive icon in the archive box. This parameter is only valid ifarchivebox=yes
.
The example archive box is with non-default value ofimage=[[File:Exquisite-folder font.png|40px]]
.Note that the image size must be specified as part of the argument to this parameter, not with theimage-widthparameter. Compare this example to the example next to thearchiveboxparameter.
image-width
Type:string
Default:"40px"
Description:The width of the image in the archive box. This parameter is only valid ifarchivebox=yes
andyou are using the default image.
Archives |
No archives yet.
|
This page is archived byClueBot III.
|
search
Type:string ( "yes" or "no" )
Default:"yes"
Description:Display a search field in the archive box. This parameter is only valid ifarchivebox=yes
.The example archive box is with non-default value ofsearch=no
.Compare this example to the example next to thearchiveboxparameter.
talkcolor/talkcolour
Type:string
Default:""
Description:This parameter is only valid ifarchivebox=yes
and the page on which the archive box is displayed is in theUser talknamespace. If not set, or set to anything other thanyes,the color scheme of the archive box on aUser talkpage will not be the standard talk page color scheme. In such a case, the archive box will use the same color scheme as is used for archive boxes on non-talk pages. If this parameter is set toyesand the page on which the archive box is displayed is in theUser talknamespace, the archive box will use the standard talk page color scheme.
The two parameters are equivalent, and are only provided to avoid an attrition war in the MOS-style.
index
Type:string
Default:""
Description:All values of this parameter are equivalent exceptyes.This parameter should not be set toyesunless you have wrapped the ClueBot III template with{{archives}}.
Usingindex=yes
results in the ClueBot III automatically generated index contained on the pageUser:ClueBot III/Indices/Talk:YourPagebeingtranscludedontoTalk:YourPagein place of the {{User:ClueBot III/ArchiveThis}} template onTalk:YourPage.
This parameter is only valid ifarchivebox=no
.Ifarchivebox=yes
this parameter has no effect on the index being included in the archive box and does not cause a copy ofUser:ClueBot III/Indices/Talk:YourPageto betranscludedontoTalk:YourPage.
like in{{archives|{{User:ClueBot III/ArchiveThis}}}}
Examples
The following examples can be cut and pasted into the top portion of the page you desire to archive. {{subst:FULLPAGENAME}} will be substituted by the name of the page you are editing when you save the page.
The text explaining the following examples assumes that {{subst:FULLPAGENAME}} evaluates toTalk:YourPage.In other words, thatTalk:YourPageis the page you are archiving.
The age in all of these examples is set to 2160 hours, which is 90 days. If you want a different amount of time, then change the age argument.
Example: Archives by date (without archive box)
{{User:ClueBot III/ArchiveThis |archiveprefix={{subst:#titleparts:{{subst:FULLPAGENAME}}}}/Archives/ |format=Y/F |age=2160 }}
The archive subpages produced by this example will be in the format of:
Talk:YourPage/Archives/2013/June
Talk:YourPage/Archives/2013/July
...
Example: Archives by date (with archive box)
{{User:ClueBot III/ArchiveThis |archiveprefix={{subst:#titleparts:{{subst:FULLPAGENAME}}}}/Archives/ |format=Y/F |age=2160 |archivebox=yes |box-advert=yes }}
The subpages created, as needed, for your archives by this example will be named similar to:
Talk:YourPage/Archives/2013/June
Talk:YourPage/Archives/2013/July
...
Example: Numbered archives (without archive box)
{{User:ClueBot III/ArchiveThis |archiveprefix={{subst:#titleparts:{{subst:FULLPAGENAME}}}}/Archive |format= %%i |age=2160 |maxarchsize=150000 |numberstart=1 }}
The subpages created, as needed, for your archives by this example will be named similar to:
Talk:YourPage/Archive 1
Talk:YourPage/Archive 2
...
Example: Numbered archives (with archive box)
{{User:ClueBot III/ArchiveThis |archiveprefix={{subst:#titleparts:{{subst:FULLPAGENAME}}}}/Archive |format= %%i |age=2160 |maxarchsize=150000 |numberstart=1 |archivebox=yes |box-advert=yes }}
The subpages created, as needed, for your archives by this example will be named similar to:
Talk:YourPage/Archive 1
Talk:YourPage/Archive 2
...
Example: By year and numbered (with archive box)
{{User:ClueBot III/ArchiveThis |archiveprefix={{subst:#titleparts:{{subst:FULLPAGENAME}}}}/Archives/ |format=Y %%i |age=2160 |minarchthreads=0 |minkeepthreads=0 |archivenow=<nowiki>{{User:ClueBot III/ArchiveNow}},{{resolved|,{{Resolved|,{{done}},{{Done}}</nowiki> |header=<nowiki>{{Automatic archive navigator}}</nowiki> |headerlevel=2 |nogenerateindex=0 |maxkeepthreads=0 |maxkeepbytes=0 |maxarchsize=150000 |numberstart=1 |archivebox=yes |box-advert=yes }}
The subpages created, as needed, for your archives by this example will be named similar to:
Talk:YourPage/Archives/2012 1
Talk:YourPage/Archives/2012 2
...
Talk:YourPage/Archives/2013 1
Talk:YourPage/Archives/2013 2
...
Example: Changing from MiszaBot to ClueBot III
MiszaBot | ClueBot III |
---|---|
{{User:MiszaBot/config |archive = {{subst:#titleparts:{{subst:FULLPAGENAME}}}}/Archive %(counter)d |algo = old(90d) |archiveheader = {{aan}} |maxarchivesize = 100K |minthreadsleft = 2 |counter = 20 }} |
{{User:ClueBot III/ArchiveThis |archiveprefix={{subst:#titleparts:{{subst:FULLPAGENAME}}}}/Archive |age=2160 |header={{aan}} |maxarchsize=100000 |minkeepthreads=2 |numberstart=21 |format= %%i }} |
The subpages created, as needed, for your archives by this example will be named similar to:
Talk:YourPage/Archive 21
Talk:YourPage/Archive 22
...
The numberstart is one more than the last used by MiszaBot because the first time ClueBot III is run it may be archiving a large number of sections. Increasing this by one will prevent the current archive from being appended. In the case from which this example is taken a 90k archive page was appended by an additional 100k leaving a 190k page for which the max was supposed to be 100k. This has been reported as a bug.
Age is in hours, not days. 90 days is 2,160 hours.
If you are using an{{Archives}}template, or other template that shows which archiving bot you are using, don't forget to change:
{{Archives |auto= short |index= /Archive index |search= yes |bot=MiszaBot I|age= 90}}
to:
{{Archives |auto= short |index= /Archive index |search= yes |bot=ClueBot III|age= 90}}
Awards
The Golden Wiki | ||
One of the top three most valued bots running on enwiki.Cremastra(talk)01:17, 7 December 2023 (UTC) |
2NumForIce has given youtransistors!Transistors promoteWikiLove(📖💞) and hopefully this one has made your day more efficient. It is the food best preferred bybots.🤖 Spread the WikiLove by giving someone else transistors, whether it be someone you have hadrobot warswith in the past or a good friend.
The thing with ClueBot NG, is that every time I try to manually revert an edit, ClueBot NG immediately beats me. That's how fast CBNG is; vandalism comes in, instantly reverted. Here's some transistors to keep you running.
Spread the goodness of transistors by adding {{subst:Transistors for you}} to someone's talk page with a friendly message!
~~2NumForIce(speak|edits)17:35, 12 November 2023 (UTC)
Mr Reading Turtle has given youmotor oil!Motor oil promotesWikiLove(📖💞) and hopefully this one has made your day more efficient. It is the drink best preferred bybots.🤖 Spread the WikiLove by giving someone else motor oil, whether it be someone you have hadrobot warswith in the past or a good friend.
Spread the goodness of motor oil by adding {{subst:Motor oil for you}} to someone's talk page with a friendly message!
The Useful AI Award | |
We appreciate all you do with protecting the integrity of Wikipedia and regulating articles so that users do not have to directly engage with vandals as much!HelloHamburger(talk)01:49, 3 March 2022 (UTC) |
HelloHamburger has given youbatteries!Batteries promoteWikiLove(📖💞) and hopefully this one has made your day more powerful. It is the power source best preferred bybots.🤖 Spread the WikiLove by giving someone else batteries, whether it be someone you have hadrobot warswith in the past or a good friend.
Spread the goodness of batteries by adding {{subst:Batteries for you}} to someone's talk page with a friendly message!
I haven't seen much of your work, but you have been doing well it seems. Keep up the good work you wonderful bot boy!
HelloHamburger(talk)01:49, 3 March 2022 (UTC)
TK421bsod has given youbatteries!Batteries promoteWikiLove(📖💞) and hopefully this one has made your day more powerful. It is the power source best preferred bybots.🤖 Spread the WikiLove by giving someone else batteries, whether it be someone you have hadrobot warswith in the past or a good friend.
Spread the goodness of batteries by adding {{subst:Batteries for you}} to someone's talk page with a friendly message!
TK421bsod(talk)20:04, 30 January 2020 (UTC)
The Anti-Vandalism Barnstar | |
Dino245(talk)19:45, 16 October 2019 (UTC) |
I like beer and you should tooC.carleigh(talk)23:10, 1 May 2019 (UTC) |
The Anti-Vandalism Barnstar | ||
This is for your valuable efforts for reverting and protecting enwiki fromVandalismPATH SLOPU(Talk)05:14, 22 August 2018 (UTC) |
The Special Barnstar | |
To ClueBot NG, for making5 millionedits! Thanks for the hard work on reverting vandalism!SemiHypercube(talk)15:38, 16 June 2018 (UTC) |
|
The Multiple Barnstar | |||||||
An Anti-vandalism barnstar and a half barn star for ClueBot NG, for the bot’s work on fighting vandalism and making over5 MILLION edits(wow, that’s almost as much as the English Wikipedia’s article count!) and counting to fight lots of vandalism. ClueBot III gets the other half Barnstar for doing a lot of talk page archiving. Thank you so much for all your hard work, and here’s to another 5 million edits of reverting vandalism, and another 600,000+ of talk page archiving!PorkchopJr.17:43, 14 June 2018 (UTC) |
A gift card from the Barnstar Shop | ||
This is a red gift card that the bots can use at the Barnstar Shop. Feel free to buy any barnstars there, and maybe even give them to other users! (But please don’t award yourself some.)PorkchopJr.18:42, 14 June 2018 (UTC) |
The Anti-Vandalism Barnstar | ||
If ClueBot NG weren’t here, we won’t revert vandalism as much as it does. Thank you for all the edits that you’ve made.70.190.21.73(talk)23:14, 10 March 2018 (UTC) |
A robot for ClueBot NG | |
For reverting vandalism on a full time basis and thanks to it's creators for their hard work on it.Iggy(talk)19:04, 18 December 2017 (UTC) |
The Anti-Vandalism Barnstar | ||
What!? This bot is faster than any other bot in Wikipedia. Excellent job at reverting vandalism, Cluebot NG. You have made almost everybody's lives easier. —BeyWHEELZLetItRIP!✉📝Sign20:33, 25 November 2017 (UTC) |
The Hard Worker's Barnstar | |
:)SuperTurboChampionshipEdition(talk)15:36, 17 June 2017 (UTC) |
This page containsmaterial that is kept because it is consideredhumorous. Such material is not meant to be taken seriously. |
Contributions
Source
ClueBots | |
---|---|
ClueBot NG/Anti-vandalism·ClueBot II/ClueBot Script | |
ClueBot III/Archive·Talk page for all ClueBots |