User:Crazycomputers/WatchlistBot (development status)

The new WatchlistBot 2.0 is under construction, and is a complete rewrite of the existing WatchlistBot. This new version is a complete re-design of the existing bot and will be run on a different XMPP server, since the server WatchlistBot is currently running on is not very stable.

Features
Features listed in bold type are either particularly exciting, were frequently requested by users, or both.

Complete (or "complete enough")

 * Interwiki support.
 * An entire CIDR block can be monitored (no larger than /16 to prevent bot spamming or excessive resource consumption).
 * Each watchlist entry can be tagged with a comment, which will be delivered along with any notifications it triggers. If multiple comments are applicable to an entry (for example, someone you are watching edits a page you are watching) you will receive both comments in one message.
 * User whitelisting. Edits made by users on your whitelist will never trigger a notification.
 * Service model allowing the separation of core services.
 * Allows cleaner design of the bot. (Separation of functionality, better encapsulation, etc.)
 * A crash in one service will not necessarily bring down any other service, so if the XMPP service fails for example, the AIM service will keep running.
 * irc.browne.org change-parsing service.
 * Logging service.
 * Database service.
 * XMPP service.
 * Watchlist hub service.
 * IM service base. This will provide all of the commands and some common features across IM services so that implementation of new IM services will require very little code.  Additionally, it will provide a consistent experience across different IM networks.
 * Web management of watchlist. Maintaining a large watchlist through a command-and-response interface can be a hassle, so a web interface will be provided to allow mass operations on a watchlist.  (There will be no "log in" page, you will simply ask the bot for a link to the management interface, and it will create a link for you with an OTP authorizing your session.)

Not yet started

 * AIM service. (Fluent.Toc is broken, and there don't seem to be any other working managed OSCAR protocol implementations.  This may be worked around by installing an XMPP-to-AIM gateway on the server and letting the XMPP service handle AIM.)
 * Other IM services?
 * Console management service for bot operator.
 * Failover: delivery of notifications to alternate accounts, or storage of said notifications for later retrieval, if a user's main IM account cannot be reached for whatever reason.