Metadata push to Bluesky?

Hi there! KFAI volunteer here, new to Spinitronā€™s deeper functions. Weā€™re hoping to use metadata push to post to a Bluesky account. I made a couple of Blueskyā€™s sample scripts work, but even after looking at KFAIā€™s existing metadata push channels, Iā€™m not clear how to implement this in Spinitron.

The specific part of this that I donā€™t get is how to send the user/password to authenticate, then parse the token from the object I get back to send the request w/metadata. Is that possible using one of Spinitronā€™s existing metadata push channels?

1 Like

Hi Jeremy,

I donā€™t think push from Spinitron to Bluesky is going to work without some special code. Given how social media integration has worked for us in the past I am not enthusiastic about making that code a feature of Spinitron. But it would be pretty easy to do it elsewhere. It would actually be well suited to a server-less function (e.g. AWS Lambda).

Set up an HTTP service to receive an application/x-www-form-urlencoded push from Spinitron and do the API transaction with Bluesky based on that.

Sounds like you might already be halfway there if you have the sample scripts running.

1 Like

Does anyone know how this was implemented?

In fact I do know! :slight_smile: Another KFAI DJ shared that account with me, and I reached out to Dan. Heā€™s scraping info from the Spinitron site every 60 seconds and said he didnā€™t think to check whether Spinitron had an API.

I have a POC ready to go that accepts a POST request and then uses an atproto client to post to Bluesky. It works great on my laptop! So right now Iā€™m trying to find someone at the station whoā€™s familiar with its web hosting situationā€“if theyā€™re already deployed on AWS or Google, for instance, Iā€™d like to set this up as a serverless service on the same platform.

This is the account I set up: @kfaiplaylist.bsky.social on Bluesky

Using PUSH from Spinitron is the way to go. I donā€™t like polling for this kind of thing. And I donā€™t like page scraping at all.

Tbh I think thereā€™s limited use for this kind of thing. Social media bots can be kind of a pest. Who wants to follow an account thatā€™s posting every few minutes? And is it a convenient way to look up whatā€™s on the radio if you have to locate the account without following it? Idk. It maybe has some value if someone can find the station after doing a music search, but Idk how like that is to work. When we made the software to do it for Twitter back in the day it was mostly a fun gimmick.

Well, I got this working, anyway. :upside_down_face:

Once I connected with the right people this fell together quickly. I learned that KFAIā€™s site was built using Wordpress, so I translated my Python prototype to PHP, with credentials stored in the Wordpress database.

Iā€™ve been thinking I should document this and maybe check it into Github to shareā€¦Iā€™ll update if/when I do that.

Here you are! As I mention in the Readme, the PHP solution that was ultimately adopted is coded to use a Wordpress table to store credentials.

I added a couple of prototypes written in Python to the repo as well. One of them (using Flask) is mostly usable, the other (intended to become an AWS Lambda function) was abandoned halfway through.

Iā€™m available for questions if youā€™re interested in getting this up and running for your station.