User:SineBot/ChangeLog

This page contains all the intimate details about new stuff related to the bot, sorted by version number.

1.0.0pre1
-- slakr 13:59, 1 August 2007 (UTC)
 * Initial release for testing. Stays relatively close to HagermanBot's original behavior.
 * Future proofing:
 * Categories are now bot-neutral.
 * Opting out is now done by users placing Category:Users who have opted out of automatic signing on their User: page.
 * Added page log for monitoring bot activity.

1.0.0pre2
-- slakr 13:59, 1 August 2007 (UTC)
 * Added two non-hager behaviors: for people who sign but don't date,  is used; for people who date but don't sign,  is used without the date argument.
 * No longer adds signatures after html comments.

1.0.0pre3
-- slakr 06:53, 2 August 2007 (UTC)
 * Added RC caching so that the bot uses less memory.
 * Added warnings on >= 3 unsigned comments in < 24 hours.  Will only warn a user once every 3 days so as to not be overly annoying but still be annoying enough to have people want to sign their contribs more often.
 * Allow bot to create pages when adding warnings, but explicitly prevent it any other time (just in case a page gets deleted in the interim between unsigned edit and bot edit).
 * Add a special exception for requests for arbitration edits to certain sections (i.e., those where users frequently contribute without signing, but it's no big deal).

1.0.0pre4
-- slakr 21:59, 13 August 2007 (UTC)
 * Changed detection of new pages/old revision edits to a different method (since the whole "starttime" and "edittime" thing can be kooky every so often and make the bot think it shouldn't place an edit when it actually should).
 * Made detection of signatures more generic. Instead of looking for signatures that explicitly contain the user's name, the bot will now assume someone "signed" with the username portion of the signature if there's any User page or User talk page reference.
 * Fixed a silly login bug whereby the bot thought it didn't log in but actually did.

1.0.0pre5
-- slakr 03:21, 15 August 2007 (UTC)
 * Added extra regex for date checking. It seems some people were pasting dates without the "(UTC)," which is in the format of the revision history datestamps, so the bot thought that there wasn't a datestamp when there actually was.
 * Added delay. I figured the best/most efficient way of doing this was:
 * Read RC feed as usual.
 * If a certain page is a high-priority page (e.g., AIV), process it immediately; otherwise, enqueue all candidate entries from RC into a database table and don't actually fetch content yet.
 * Check the table every five seconds for entries that satisfy the delay.
 * Proceed as normal on the entries. If there has been a newer change to a given page within the last minute or so, the bot will abort, because the newer entry will be somewhere in the queue.
 * The downside to this, however, is that there's a possibility that in order to avoid being annoying, the bot might not add some signatures when they should be added. The upside, on the other hand, is that if someone honestly does forget to sign a post, he/she can very quickly sign it without worrying about being botified (is that a word? :P).  Additionally, people who vandalize a page or otherwise add bad content to it can be more easily reverted, since RC patrollers and RC anti-vandal bots don't have to worry about the bot making a lightning-fast change right under their noses.
 * Bot should now catch slave server errors instead of throwing a weird, hard-to-understand-for-people-who-didn't-write-the-bot warning :).
 * Changed wording on "skipping tilde" message, as it's only skipping checking the database (since it's already cached in memory).
 * Added db table of page title masks so that edits to those pages will bypass the aforementioned delay (i.e., the table makes a range of pages high-priority pages so that all unsigned contribs will more or less be instantly signed).

1.0.0
-- slakr 01:27, 18 August 2007 (UTC)
 * Looks like it might be ready for a big-boy version now.
 * Account for a silly squid cache error that made the bot get all scared that something went wrong.

1.0.1
-- slakr 00:57, 19 August 2007 (UTC)
 * I have no idea why, but I apparently forgot to make the bot skip unsigned Category inserts. Should be fixed now.
 * Actually, it looks like I just didn't account for the pipe in category inserts. Yay.
 * Also, accounted for image tag only inserts.
 * Made regex checking for line indenting less specific.

1.1.0
-- slakr 00:16, 20 August 2007 (UTC)
 * Added some more date regexes for formats that people have reported to me (or the bot has come across).
 * 08:46 19 August 2007
 * 2007-08-18 23:50
 * 06:53, 01 August 2007.
 * (cst|gmt|etc...)
 * Also included variants for short/abbreviated stuff in this one (e.g., '1 Aug 07').
 * More exceptions for strange multi-line templates (i.e., pre and post-add context check for pipes that would indicate edits inside a template, but added lines don't have pipes).
 * Ignore contribs whose last lines are &lt;!--solely comments--&gt;
 * Changed up category addition detection to be more and less specific at the same time (paradoxically) :P
 * Removed seconds from the, , etc parameters the bot feeds to the templates in order to maintain compatibility with bots that are actually reading the datestamps and aren't using as wonderful a function as strtotime.
 * Added some simple bot stats tracking (eg, total signed comments)

1.1.1
-- slakr 01:47, 21 August 2007 (UTC)
 * Some signatures had a ":" before the [[User or [[User talk links and the bot was signing them. That should be fixed now.
 * Bot will no longer place warnings on redirected User talk: pages.

1.1.2
-- slakr 01:29, 22 August 2007 (UTC)
 * Bot will no longer sign contributions made by blocked users.
 * Fixed small bug where &amp;nbsp; wasn't converted into whitespace, so it therefore missed some datestamp regexes.
 * Made bot a little more specific on [[User checking, so that if someone only the bot it won't assume that's a valid user component of the signature.

1.1.3

 * Memory optimizations. Yay  -- slakr  10:46, 22 August 2007 (UTC)

1.1.4
-- slakr 01:41, 23 August 2007 (UTC)
 * Added exceptions for, , and templates that are added to unsigned posts on WP:AIV.  Since these were non-t1 templates, they caused the bot to skip over the contrib.
 * ... and fixed a stupid regex in the meantime (forgot a parenthesis). :P
 * Added exceptions for twinkle warnings (since they usually autosign).
 * Ignore unsigned User talk: contribs made by the user to whom the page is referencing. Should eliminate some confusion, hopefully.

1.1.5
-- slakr ( talk ) 05:05, 24 August 2007 (UTC)
 * Added exceptions for lines that are indents/enumerations/bullets but are blank.
 * Added liveLog disable setting in prep for irc bot.

1.1.6
-- slakr ( talk ) 03:41, 26 August 2007 (UTC)
 * Undid the line exception thing temporarily since it was causing problems with the bot calculating the correct line on which to add a signature. I'll test this a little more to get it working, but for now it's nixed.
 * Better detection of edit summaries that indicate trivial edits. (maelgwn)
 * Added exemptions for magic words (SarekOfVulcan)  ... this naturally doesn't affect abracadabra, which is a classic magic word. ;) 
 * Added exemption for Template:Afd bottom, which tricked the bot because it doesn't look like a template to the bot. :P (Sandstein)
 * Added a tricky exemption for WP:RFA optional questions, since there's no standard format for them. (Boricuaeddie)
 * This gives me an idea, though: Use some sort of bot configuration template to instruct it to only sign under certain headers or sign under all headers EXCEPT certain ones-- as opposed to simply signing everything on any given page.  I like the idea a lot, and I'll probably add it in an upcoming version.

1.1.7
-- slakr ( talk ) 06:52, 27 August 2007 (UTC)
 * Got WP:TWINKLE exemptions working again fro mthe 1.1.6 revert. It helps when I spell it "continue;" instead of "contine;"

1.1.8
-- slakr ( talk ) 07:36, 27 August 2007 (UTC)
 * Deactivated usage for now, since it seems to be causing some silly problems when people have User: links in their last added lines but aren't actually signing.  Plus, it seems that  is actually using template functions, which kind of sucks.

1.1.9
-- slakr ( talk ) 23:33, 27 August 2007 (UTC)
 * Added a isThisUser function to check if a block of text links to a particular user.
 * Added exception for additions right before an already-signed line when the prior revision is the same editor.

1.2.0
-- slakr ( talk ) 00:44, 28 August 2007 (UTC)
 * Added opt out by transclusion of a page/backreference support. Users can now opt out by transcluding.
 * Disabled public log output for now, since most serious bugs have been ironed out.
 * Fixed regex on did-the-person-remove-my-unsigned-template checking

1.2.1
-- slakr ( talk ) 03:34, 28 August 2007 (UTC)
 * Minor fix to template arguments just in case someone with an '=' in their name comes along.

1.2.2
-- slakr ( talk ) 09:59, 28 August 2007 (UTC)
 * Fixed a tiny problem where template opt out wasn't updating every 5 minutes-- only when the bot was restarted.

1.2.3
-- slakr ( talk ) 21:52, 28 August 2007 (UTC)
 * Exempted hr-only and hr-with-whitespace edits (eg, '').

1.2.4
-- slakr ( talk ) 21:36, 30 August 2007 (UTC)
 * Another small fix to the datestamp formatting. Switch month & day, and removed the comma, since the old date format might be messing with some archive bots' minds.

1.2.5
-- slakr ( talk ) 03:54, 2 September 2007 (UTC)
 * Exempt pages ending in "/to do" (case insensitive) unless the page is explicitly opted in via another form.

1.2.6
-- slakr ( talk ) 04:19, 4 September 2007 (UTC)
 * Fix hasThisUser to recognize '_' in user names.
 * Add an exemption for standard-format extra diff additions to Administrators' noticeboard/3RR.

1.2.7
-- slakr ( talk ) 19:23, 4 September 2007 (UTC)
 * Make bot ignore what appear to be postscript comments made by a user who might have signed somewhere else in the text addition.
 * Increased the limits for the opt out & opt in category requests to api.php (since the bot is botflagified and those queries are light anyway).

1.2.8
-- slakr ( talk ) 22:48, 4 September 2007 (UTC)
 * Exempt subpages starting with 'archive' to avoid weird things with archive lists and such. It should be apparent by the history who makes changes to an archive page, while it could be annoying to someone archiving pages.

1.2.9
-- slakr \ talk / 19:47, 14 September 2007 (UTC)
 * support should be fixed now, and the template is protectified, so I've re-enabled support.
 * Because of new code, bot will now get pissy at someone who mis-signs his post (i.e., the bot will no longer buy someone signing as someone else-- at least, not in talk page linking).

1.2.10
-- slakr \ talk / 23:16, 14 September 2007 (UTC)
 * Fixed hasThisUser to trim before comparing user name.

1.2.11
-- slakr \ talk / 05:39, 19 September 2007 (UTC)
 * Added ELOGIC logging level as a slightly lower level than EDEBUG.
 * Added dbLogLevel config directive for minimum log level before writing entry to database (as opposed to only echoing if not forking.)
 * Reclassified a lot of EDEBUGs into ELOGICs.

1.3.0
-- slakr \ talk / 22:13, 20 September 2007 (UTC)
 * Edit summary changes: (thanks for reminding me, Tagishsimon) =)
 * Shorter
 * Includes the original edit summary given by the user.
 * Includes whether it's simply Dating or fully Signing
 * Exempted FAQ pages for
 * Fix to parsing of eicontinue and cmcontinue directives from api.php.

1.3.1
-- slakr \ talk / 06:59, 24 September 2007 (UTC)
 * Rearranged order of arguments on cURL's submission of the edit form so that the edit token is last. This fixes a nasty little bug whereby text was deleted if transmission of the edit failed during transmission of wpTextbox1 (due to its uplink lagging out or dying abruptly), therein allowing Mediawiki to assume that transmission had finished and commit only a partial edit. Phew, that was a mouthful.

1.3.2
-- slakr \ talk / 19:49, 24 September 2007 (UTC)
 * Added exemption for interwiki-only link additions

1.3.3p7

 * Actualy, the p7 is just to make '1337' (leet). Sorry... I'm weird.  Feel free to pwn me or something. :D

-- slakr \ talk / 21:49, 30 October 2007 (UTC)
 * Increased non-high-priority pages delay to 120 seconds.
 * Template-based opt out now works on User talk: namespace for people who purposefully don't have User: namespace pages.
 * User/user talk page component now recognizes subpages in signatures. This does deviate from WP:SIG, but *shrug*.
 * Fixed funky character encoding on hasThisUser checks (for people like Hroðulf).

1.3.4
-- slakr \ talk / 21:45, 17 November 2007 (UTC)
 * Someone decided to change api.php's "rctype" directive on recent changes, breaking the bot. Fixed.

1.3.5
-- slakr \ talk / 08:05, 19 November 2007 (UTC)
 * Now using html_entity_decode on hasThisUser for misc. funky chars in usernames that translate to html entities in talk pages and such.
 * Added second step before death'n'mail on bad login responses.

1.4.0
-- slakr \ talk / 16:18, 21 November 2007 (UTC)
 * Code cleanup.
 * Made more code less site-specific.
 * Added config file.
 * Added db table prefixes.
 * Config directive for RC checking sleep delay.

1.4.1
-- slakr \ talk / 17:35, 21 November 2007 (UTC)
 * Add isEnableContribs to allow enabling of Special:Contributions as a valid signature. Disabled by default, but can be enabled for sites like Wikinews (where IP contribs use Special:Contribs instead of talk/user page links).

1.5.0

 * Added ignore for redirected talk page creations.
 * Added ignore for possible &lt;gallery&gt; tag additions.
 * Added interprocess communication with eggdrop IRC bots (so that various channels across various networks can be notified if needed; plus, bot can run on different server altogether).
 * Added basic vandalism detection and notification through IRC bot.
 * This doesn't have a timing mechanism yet, so the bot will still sign it. I'll fix this when I'm less tired. :P
 * IRC bot (sinebot.tcl), new channel flags:
 * +sinevandals &mdash; possible vandalism.
 * +sineflames &mdash; flame detection info (i.e., harshly worded messages that aren't necessarily vandalism but would probably be WP:NPA violations).
 * +sinesigns &mdash; info on signatures the bot makes successfully.
 * +sineinfo &mdash; important bot notices
 * +sinebroken &mdash; send a warning if the bot runs across a talk page on which wikitext may have stopped working.
 * Added basic flame detection, but it's not yet enabled.
 * Added broken rendering detection and alerting (preliminary), so bot should detect when everything goes haywire on a page due to a forgotten &lt;/nowiki&gt; or something.
 * Some other minor optimizations.

-- slakr \ talk / 06:48, 21 January 2008 (UTC)

1.5.1
-- slakr \ talk / 18:38, 22 January 2008 (UTC)
 * Bot will ignore possible vandalism when it comes across it; timing for delayed signing on vandal posts not yet enabled, but gathering statistics for a good timeout.

1.5.2
-- slakr \ talk / 10:33, 9 March 2008 (UTC)
 * Added establishedEditCount config directive plus corresponding exemption from autosigning.

1.5.3
-- slakr \ talk / 13:20, 17 March 2008 (UTC)
 * Added MSG_EDIT_PRO_IP to allow different edit summaries for anons; pointed it to Special:Contributions/ip instead of User:ip.

1.5.4
-- slakr \ talk / 19:07, 29 July 2008 (UTC)
 * Added static exempt list (ignoreList) *grumble grumble grumble*
 * Couple small changes

1.5.5
-- slakr \ talk / 21:08, 21 September 2008 (UTC)
 * Support bookmarks in sigs. (e.g., User:SomeUser)
 * Account for 3 letter language links, as well ('scn' was what prompted it :P)
 * Fixed hole that was allowing dated-yet-unsigned stuff to seep through in special conditions (i.e., what the bot assumed to be revising edits).

1.5.6
-- slakr \ talk / 15:39, 26 September 2008 (UTC)
 * More properly support bookmarks in sigs; fix regex.

1.5.7
-- slakr \ talk / 04:06, 10 November 2008 (UTC)
 * Interwiki sig support.
 * Fixed xfer stat.
 * Added some extra throttling.
 * Fixed overly-lax image-only regex that resulted in pre-emptive greenlighting in some instances.
 * Included some other commonly used templates in the tl check.

1.5.8
-- slakr \ talk / 04:50, 6 February 2009 (UTC) (actual date was probably in November 2008)
 * Bug fixes on weirder interwiki sigs.

1.5.9
-- slakr \ talk / 04:50, 6 February 2009 (UTC) (actual date was probably in December 2008)
 * Added config-level ignorability for subpages (like "pages with subpages that aren't autosigned").

1.5.10
-- slakr \ talk / 04:50, 6 February 2009 (UTC)
 * Enabled support.
 * "Image talk:" to "File talk:" in configs. Not really part of the revision (as it's in the config), but w/e. :P

1.5.11
-- slakr \ talk / 23:43, 12 February 2009 (UTC)
 * Fixed tiny logging typo "BWARN" instead of "EWARN"
 * Updated edit conflict detection.

1.5.12
-- slakr \ talk / 06:24, 24 February 2009 (UTC)
 * Now uses write api.
 * Kludge due to a bug on wikimedia's end.

1.5.13
-- slakr \ talk / 16:13, 27 June 2009 (UTC)
 * Forgot what I changed. Probably just a minor fix. :P

1.5.14
-- slakr \ talk / 16:13, 27 June 2009 (UTC)
 * Compatibility with error->code / error->info ambiguity

1.5.15

 * Minor bugfixes / api.

1.5.16

 * Minor bugfixes / api.

1.5.17

 * Minor fixes.

1.5.18
-- slakr \ talk / 23:33, 11 November 2011 (UTC)
 * Minor fix: account for RFA variations.

1.5.19
-- slakr \ talk / 03:20, 31 May 2012 (UTC)
 * Kludgefix back-to-back revision signing.