3 ms·
Do you have that code posted somewhere by chance? I would be interested in browsing through it!
by skiman10 2y ago
Do you have that code posted somewhere by chance? I would be interested in browsing through it!
- diggan 2y agoNot right now, no. It's fairly simple (login to Bluesky, read RSS, save item IDs to a text file, post if there are any new feed items, close program then systemd timers run this every N minutes) + pretty specific to AEMET and their formats. If there is interest I guess I could spend some hours to make it a bit more generic and publish the source.
- skiman10 2y agoCool yeah. I think the thing I was most interested in was interacting with Bluesky through rust. Is there a decent sdk for that?
- diggan 2y agoThe meat is this, using bsky-sdk + atrium-api from crates: let agent = BskyAgent::builder().build().await?; agent .login("username.bsky.social", "X") .await?; let rt = RichText::new_with_detect_facets(msg).await?; let record = RecordData { text: rt.text, created_at: atrium_api::types::string::Datetime::now(), facets: rt.facets, }; agent.create_record(record).await?; Works well enough. It's a bit on the lower end of the "abstraction ladder", there might be more user-friendly libraries for doing this even easier now.