Created For - Personal Use

Created - Dec. 18, 2016, 4:26 a.m.

Language Used - Python

IBM workspace is a new tool from IBM, aimed at taking on Slack and Spark. I'm writing a general purpose bot mainly as a way to become familiar with the API, but also as an excuse to get programming again.

Right now, Travis is configured through a config file, which allows extensive control over functionality. Commands include:

  • Writing "Travis, what's the latest xkcd" in the channel will provide you the link to the latest XKCD comic.
  • You can ask Travis what the weather is like, using a zipcode or a city (Travis will do best guess on state if you pick city. ex. "Travis, what's the weather like in Leander?" or "Travis, how's the weather in 90210?" You can also specify a state, if you wish to help Travis select the correct location. ex. "Travis, how's the weather in San Antonio, FL?"
  • You can ask Travis to google things for you, and he will return the quantity of results specified in the config. ex. "Travis, can you google 'jeff dean' please?" or "Travis, google awesome cat videos"

You can optionally configure Travis to announce news headlines every so often (details on what news, how much, and how often are configured in the config file), and you can also have Travis monitor the conversation and pull relevant news items for subjects of interest. For example, if the topic of conversation is about IBM's Watson, Travis would pull any recent news about Watson.

You can optionally configure Travis to listen to particular GitHub repositories, and announce new pushes or issue events (details are in the example config). For example, you can Travis announce new bugs for one repository, and all new issues for a different repository.

Travis also listens for people talking negatively about him, and responds appropriately. The level of thin-skinnedness is adjustable.

For a full list of planned functionality, see the plans.txt document in the repository. To see Travis in action, you'll need an IBMid and need to contact me for an invite into the channel where Travis hangs out.

BitBucket repository