User:Crazycomputers/WatchlistBot

From Wikipedia, the free encyclopedia

Notice WatchlistBot should be up. If it is not, there is a problem I'm not aware of yet.
WatchlistBot sending alerts to an instance of Gaim connected to an XMPP server.
WatchlistBot sending alerts to an instance of Gaim connected to an XMPP server.

WatchlistBot is an XMPP bot that will allow XMPP users to maintain a watchlist that is similar (but separate from) their watchlist on Wikipedia. The key difference is that when a page on a user's WatchlistBot watchlist is changed, they are immediately notified of the edit through their XMPP client.

If you like using WatchlistBot, you can put {{User:Crazycomputers/Userbox/WatchlistBot}} on your userpage to let others know about this project.

(Note that Google Talk is a XMPP service, so if you have a gmail account you are all set to begin using WatchlistBot.)

Contents

[edit] Usage

To begin using WatchlistBot, send a subscription request to watchlistbot@jabber.org. The bot should immediately approve this request. (Note that this is not an email address -- email sent to this address will bounce.)

Then simply send the message "help" to the bot for a command summary. The available commands are also documented here.

[edit] Commands

[edit] about

Display the bot's version and credits.

[edit] batch

Performs batch watchlist edits, such as adding or removing articles. The syntax is:

batch (add|remove)
(articles)

Articles should be separated by newlines. This syntax was chosen to allow direct copying and pasting from Special:Watchlist/raw.

[edit] clear

Irreversibly removes all articles from your watchlist. You must issue this command as clear my watchlist or your request will be refused.

[edit] help

Displays a summary of these commands.

[edit] list

Displays your watchlist.

[edit] stats

Display some statistics:

  • The time the bot was last restarted.
  • How many article edits and creations the bot has processed, and of those:
    • How many were in at least one person's watchlist.
    • How many messages were sent as a result.

[edit] unwatch

Unwatch an article. Same syntax as watch.

[edit] watch

Watch an article. Note that, unlike MediaWiki's watchlist, the corresponding talk page is not watched too. You must specifically add talk pages using this same command. Articles are also case-sensitive, and WatchlistBot will not attempt to correct any case errors.

Since 0.1.3, WatchlistBot recognizes the special case where you issue watch Special:Contributions/username -- in this case you will be alerted any time the user username makes an edit.

In the case where a user you are watching has edited an article you are watching, you will still only receive one message.

Examples:

  • watch User:Jimbo Wales -- Watch for changes to the User:Jimbo Wales page.
  • watch Special:Contributions/Jimbo Wales -- Watch for changes made by Jimbo Wales.

[edit] Roadmap

  • ASAP
    • Fix hanging. A bug in one of the libraries WatchlistBot uses has been fixed.
    • Gracefully handle disconnections from XMPP service. Should be fixed as of 0.1.5.
  • 0.2
    • Persist silence state for users.
    • Better handling of watch/unwatch. May include notifying the user if: Done.
      • The page they added is currently a redirect. (Let them know the target page so if they meant that page they can copy and paste it.)
      • The page they added doesn't exist. (Should catch typos, but may be intentional for e.g. CSD articles that keep getting created and aren't salted.)
  • 0.3
    • Support for other IM protocols besides XMPP. (This means support in the database schema and bot design that allow other protocols to be used.)
  • 0.4
  • Later
    • Watchlist categories, such that whole categories can be silenced. (Useful to put things like AIV and ANI in one list, and silence it when not actively "adminning" but still want to receive notices when one's talk page is edited.)

[edit] Notes

This bot is still in the testing phase. It may very well crash or contain bugs. Please report any problems you find here.

[edit] Platform

WatchlistBot runs on Mono, and uses MySQL to maintain watchlists. The XMPP connection is done through agsXMPP. Live article watching is done using code copied from VandalSniper, which uses SmartIrc4net.

[edit] Privacy

Since everything is stored on my computer, I have full access to everyone's watchlist. I will keep this information confidential to the best of my ability. If you are worried about privacy, take note of two things:

  1. I have no knowledge of your IP address.
  2. I don't know your Wikipedia account name unless it's part of your XMPP ID.

Picking an XMPP ID that differs sufficiently from your Wikipedia account name will ensure that I can't tie a specific watchlist to you.

[edit] Disclaimer

I provide absolutely no guarantee as to the correctness or timeliness of the information delivered by WatchlistBot. You cannot hold me responsible for information that it fails to deliver, or delivers incorrectly. You cannot hold me responsible for damages that occur arising from the use of, inability to use, or malfunctioning of this service.