Last September I first published my XMPP to Spark bot based on Nodejs that I created to consolidate my collaboration tools. Over the holiday break I made some upgrades and also simplified or I should say reduced the amount of code and modules required. The official Cisco Spark SDK is pretty large and bulky for the purposes of this bot so in the new version I have created a couple of simpler methods to enable its removal. This bot doesn't use webhooks and a bunch of other Spark API's so it was much easier to just create a couple of new methods. This bot is about getting others to use Spark versus a migration or integration tool but with expanded development it could be made to serve both of those purposes as well.
Below is the main server file. I haven't done a lot of commenting inside my code but you will notice I have a bot monitoring service for some experimenting. I am just monitoring and posting my cloud containers CPU up-time to a bot account in Spark. Eventually I am thinking about sending these updates to another monitoring service which posts updates and alerts on bot issues. You will also notice that I have added the ability to translate presence from Spark into XMPP. It is simple and readable. Presence only updates if my Spark presence/activity changes.It is defaulted on startup to "inactive".
This is a simple and fun personal bot to experiment with. Presence is new inside the Spark API and if your building a personal Spark bot the easiest way to get access is through the "get my own details". The "status" label gives your current presence.
Have fun coding!