Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/angelmunoz/fsfediversearchive
A Set of Google Cloud Functions Written in F# to archive some of my fediverse activity
https://github.com/angelmunoz/fsfediversearchive
automation dotnet fediverse fsharp function gcp lambda misskey serverless webhook
Last synced: 3 months ago
JSON representation
A Set of Google Cloud Functions Written in F# to archive some of my fediverse activity
- Host: GitHub
- URL: https://github.com/angelmunoz/fsfediversearchive
- Owner: AngelMunoz
- Created: 2022-11-22T00:55:37.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-08-02T16:49:37.000Z (over 1 year ago)
- Last Synced: 2024-05-21T06:31:56.466Z (8 months ago)
- Topics: automation, dotnet, fediverse, fsharp, function, gcp, lambda, misskey, serverless, webhook
- Language: F#
- Homepage: https://fediverse.tunaxor.me
- Size: 72.3 KB
- Stars: 13
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[misskey]: https://github.com/misskey-dev/misskey
[twitter]: https://twitter.com
[activitypub]: https://activitypub.rocks/
[google cloud platform]: https://cloud.google.com
[function]: https://cloud.google.com/functions/docs/create-deploy-gcloud#functions-prepare-environment-csharp
[pub/sub]: https://cloud.google.com/pubsub/docs/publish-receive-messages-client-library?hl=en#pubsub-client-libraries-csharp
[firestore]: https://firebase.google.com/docs/firestore/query-data/get-data#c# F# and Google Cloud Functions
This is a simple and small project to set up an endpoint for misskey webhooks every time I publish a note (toot/tweet) and I (or someone else) reply on my own notes.
The idea is quite simple:
- Publish notes in misskey
- The `MkWebHook` [function] endpoint gets hit in [google cloud platform]
- Parse the content and fire a [Pub/Sub] event
- The `MkSaveNote` function gets triggered when the a Pub/Sub topic is published from `MkWebHook` and saves the content of the note to [Firestore]
- The `MkDisplay` function grabs whatever it is currently stored in firestore and renders an HTML document with some of the information.While arguably most of that could have been done in the same function I wanted to try to connect different services along the way, as cloud services are often more than just a tutorial kind of function where once you get out of your rails it is nothing like the tutorial, so far I find this satisfactory and it was a good learning excercise, feel free to ask and raise issues if you have questions.
> # What is [MissKey]?
>
> Misskey is a social network that just as mastodon, pixelfed, and other decentralized social media, implements the [ActivityPub] protocol
> it can federate content and is compatible with mastodon up to some extent (where the spec is respected by both parties)