During the latest Fedex Day I took on the task of making a bot for Skype that could be used for logging conversations directly as a comment to a Jira task. One of the most interesting things for me was to be able to use Python for writing this bot. Python had been long in my to-master list so this was a very good opportunity.
And yes, a few bots already exists but when I first started none of the existing bots gave me what we needed. And what kind of programmer would I be if I didn’t want to reinvent the wheel every opportunity?
This was started already in 2009 as a side project at home but was never went anywhere.
Problems with implementation
As this project was started long time ago, things have naturally changed since then. In the summer of 2010 Skype withdrew their public APIs and currently offers only SkypeKit as a beta program for making programs that interact with Skype. And because SkypeKit is a beta program, developers must make a request to be part of this program. I haven’t been accepted yet. Luckily everything I needed was found from the internet with a little bit of digging.
Another problem came when the project was ready to be tested from the production server that is running RHEL5. Respecting traditions, RHEL5 contains some old libraries and which meant Skype wouldn’t start on the server. Apparently the Skype installation was made with –force, so problems weren’t noticed earlier. So a request was made to upgrade the server to RHEL6, I hope all necessary API libraries can still be found from the internet.
This time I was able to finalize the task at hand and with a new server installation and some testing this should be ready to use.
The usage is fairly simple, just invite the bot in to the desired chat, tell it to start logging and after conversation ask bot to save everything said as a comment to the specified Jira task.
Here is a sample session:
There. It was a simple and complex project at the same time and I had fun hacking it. Now the Python code is flowing a bit easier.