Now that my Voicemail script is pretty much done (assuming no bugs are found with the beta, I'll release it as stable on the database), I have another project underway...
(at least, as I've called it for now) is able to automate various Messenger tasks using custom "rules" set by the user.
The script reads an XML file containing all the user's rules. At the moment, there is no UI for creating/editing these files, so configuring the script must be done manually. The basic system of rules splits into triggers, conditions and actions.
- Triggers are, essentially, Plus! and WLM events, such as when the user's status changes, or when Messenger Lock is enabled. Some triggers with suitable parameters will be available for use in conditions and actions.
- Conditions allow the user to narrow down when a trigger applies, by testing other states in Messenger. For example, the user may want to do something when changing status to busy, so the trigger would be a change of status, and the condition would be if the new status is busy. Conditions can use "and" or "or" grouping, in which all or at least one (in that order) of the conditions must apply.
- Actions specify things the user can do when a trigger applies. This could be changing name, PSM or status, sending messages to a conversation, locking Messenger and so on.
An example user configuration file (which does actually work):
<Rule Name="TestR" Trigger="ChatMsgReceived">
<Action Type="Toast" Message="Chat: %var:Contacts%\n%var:Sender%: %var:Message%"/>
<Rule Name="TestS" Trigger="ChatMsgSent">
<Action Type="Toast" Message="Chat: %var:Contacts%\nMe: %var:Message%"/>
This script could do a number of tasks. It can act as a simple auto-responder. It could act as a notification system. It can do a number of tasks at once. Plus, rule files will have import/export support, so can be interchanged at will.
Anyway, to the point...
If anyone wants to beta-test (well, probably more alpha at the moment) and try it out, let me know and I can send you a copy of the script pack when I think it's ready for some trials.
Also, if anyone's interested in helping to make (and perhaps program) a UI for the script, let me know that too.