GitHub + Node.js + turntable.fm = Funbot!
About 7 months ago, I stumbled across turntable.fm, a social music website where people can take turns DJing in a round-robin format, and people can share their music among listeners. After bouncing between several rooms, I had settled into the All Music Mix room, which was being governed by a bot that had been created by user “dj mikeb”. This bot uses an API to collect data on the room and enforce play limits and other rules within the room (which I found to be much of the appeal of the room). As I saw other bots pop up in this and other rooms, I began to look into how to create my own.
I ended up chatting with another user “PodcastMike”, who had created a bot of his own that watched the same room and gathered data, and he pointed me to a GitHub repository (https://github.com/MikeWills/ttModeratorBot) as a place to start off. Well, the only problem I ran into was that this ran on Node.js, which I had never used before. I had heard of it a few times among those I follow on twitter, but I really knew nothing about it.
A few days later, Funbot was born (he’s the little redhead in the spotlight). I had tweaked the database setup to allow for remote databases, adjusted the database table structure to capture more of the data I wanted to gather, added the ability to tweed to it’s @TTFunbot, and made some other DJ management changes to fit the room I wanted to run. And rather than keep it to myself, I forked the MikeWills project, which resulted in my own version (https://github.com/GuruGreg/ttModeratorBot), which is also the first GitHub repository to my name.
If you’re interested in checking out Funbot in action, or just spinning some good tunes, you can head on over to Funbot’s Musical Wonderland (I may or may not be there, but Funbot will keep you company).
And stay tuned as well, because I’ve got a lot more planned for the little guy!