Joined: 16 Nov 2002
Location: Oakland, CA
|Posted: Mon Feb 17, 2014 4:38 pm Post subject: Using IRC for Social Media
|My full set up involves a Gentoo-powered VPS somewhere in "the cloud" as well as my Gentoo laptop which goes with me.
- OpenVPN gives me a secure tunnel to connect irssi from my laptop to ZNC on my server.
- ZNC is an IRC bouncer that maintains a persistent connection to a few different IRC networks as well as to bitlbee.
- Bitlbee connects me up to IM networks.
Years ago Justin used & recommended bitlbee to me and it gave my workflow a significant boost in efficiency. All my "fast" communication streams (IRC, Google chat, Sametime) were efficiently consolidated into one terminal tab. As a bonus, bitlbee also put my Twitter stream into an IRC channel.
Five years later, I'm running Gentoo again. IRC is again playing a central role in my workflow. I'm launching a podcast, so I'm designing & building the website in addition to processing the interview audio files. I'm also trying to build and maintain an audience for the podcast. And that means...(dramatic pause)...social media.
For my podcast I have--at the moment--4 different social networks on which to maintain a presence and interactions. In my case that means a page or account on facebook, google-plus, twitter and linkedin.
Here's the thing. Bitlbee is only focused on the IM parts of those networks. I have not been able to find any way to interact with those branded pages (e.g. facebook wall, linkedin page comments, google+ page comments) from IRC. What I did find: a service called BufferApp.
BufferApp connects specifically to those 4 branded pages, and lets me schedule and post updates. So, I can now post just once and hit all 4 networks, and I can do it at the times of day that my audience prefers. All I had to do was glue together IRC and BufferApp.
I was looking for the minimal viable working solution, because I have a lot of other things to do in order to launch the podcast itself. I searched around for library wrappers around the BufferApp api, and found that the most complete API coverage was in the unoffical ruby wrapper.
I'd used supybot years ago, but it seems like development has fractured & fizzled lately. A little bit of research led me to cinch (fortunately, also written in ruby). Cinch's architecture makes it really easy to write a custom IRC bot. So I wrote enough code to send a new post to BufferApp, and get the status of the buffer. As a result, I now have IRC channel just to broadcast out to my branded social media pages.
One final piece of glue puts this all together. Since the rupert code is minimal, there is no authentication check. Therefore anyone in the channel can issue a `!publish` command to it. My way of solving this has been to run the bot on a minimal irc network. On my cloud-based Gentoo server, I've installed ngircd and it only listens on localhost (127.0.0.1). So the bot connects to it directly. I connect to it again through ZNC (just to be consistent).
As of now, I can not read what's on the wall/page comments without logging into each service individually. That is not yet a problem, as my audience is tiny and there's not much to interact about.