Balasankar C

Balasankar C

Geek. Freedom. Privacy.

Home | Blog | Talks | Setup | Feed

Trying out Diaspy - ICU and Commitstrip bots for D*


As you may know, I am a long time supporter and user of Diaspora, the free, decentralized, Privacy-aware social networking platform. I also am one of the podmins of a Diaspora instance (called pod) - Poddery. One of the main things missing in Diaspora is a stable and usable API which prevented me from using it programatically. But recently, I came to know about Diaspy, which is an unofficial Python interface for Diaspora, when it was accepted to Debian.

So, as usual, I started playing with it. One of the reasons I visited Facebook even after deleting my account was International Chalu Union which is the largest comedy platform in Facebook that handled almost everything sarcastically. Recently, I came to know about their website which implemented a IFTTT from the Facebook page. So, all the posts that are published in the Facebook page will be automatically posted to their website. I wanted to lose this dependency on Facebook and though of using diaspy to pull those posts and publish them to Diaspora. So, I started writing a script which could be used along with a cron job to check for new posts and use diaspy to publish them to poddery. Initially I used a system which kept all the downloaded images and checked them to prevent redownloading. Later, I decided to go with logging for that. But, it seems diaspy has some issues with handling relative paths for image uploads. XPath rocks people.

Anyway, the ICU guys agreed to use it as their official Diaspora account and I started running a cron job for doing the job. The results are posted via this poddery account.


After that, I wanted to get Commitstrip to Diaspora and I asked the concerned people for permission to use their comics and they were happy to grant me. So, today I modified my original script and created another diaspora account to get Commitstrip comics to Diaspora.


The original code of ICU poster can be found, as usual, in my Gitlab Account