A serverless ActivityPub bot implementation for Azure

Over the winter I put together a couple of ActivityPub apps that run on Cosmos DB (NoSQL) and Azure Functions, written in a mix of C# and F#, and I figured the code might be useful to anyone looking to do something on that particular tech stack.

  • Crowmask: A one-way mirror from my Weasyl account, which uses my API key to periodically pull in new, updated, or deleted artwork from my account and send it out to ActivityPub followers. It automatically backdates older posts, which is something I couldn’t do by just posting to someone’s Mastodon server. If Crowmask receives a reply, announce, etc to its actor or one of its posts, it sends a private notification to my microblog.pub account (which I use regularly, just not for art).
  • MovieTitler: A simple bot that generates a “new” movie title every day by combining parts of existing titles. The code is based on a simplified version of Crowmask, and there might be room for me to simplify it further. See it in action at @bot@movietitler.azurewebsites.net.

Both apps also include simple web interfaces (generated from Markdown) and RSS/Atom feeds.

1 Like