patHyatt/XmppBot-for-HipChat — pull request #4 by hartez (2013-12-30 22:10:36+00:00)
Title: Allow for plugins to run independently of user input

This PR adds a new plugin interface (`IXmppBotSequencePlugin`) which can be used to write plugins which can act independently of user input. (The original `IXmppBotPlugin` interface has been left intact; this PR doesn't require changes to any existing plugins.)

The new interface uses the [Reactive Extensions](http://msdn.microsoft.com/en-us/data/gg577609.aspx) library and returns an `IObservable' (instead of a single string). This allows for creating plugins which generate chat responses independently of user input (in other words, without having to wait for a ParsedLine to evaluate).

There are three example plugins: a countdown timer, a reminder command, and a plugin which can watch a folder and report back when changes are made.