From f7b7b865e629789cb4d64b45a836c116e2831cbe Mon Sep 17 00:00:00 2001 From: William Casarin Date: Wed, 23 Aug 2023 19:56:20 -0700 Subject: NIP-315: User Statuses This NIP enables a way for users to share live statuses such as what music they are listening to, as well as what they are currently doing: work, play, out of office, etc. --- 315.md | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 315.md (limited to '315.md') diff --git a/315.md b/315.md new file mode 100644 index 0000000..0f4f0a1 --- /dev/null +++ b/315.md @@ -0,0 +1,60 @@ + +NIP-315 +======= + +User Statuses +-------------- + +`draft` `optional` `author:jb55` + +## Abstract + +This NIP enables a way for users to share live statuses such as what music they are listening to, as well as what they are currently doing: work, play, out of office, etc. + +## Live Statuses + +A special event with `kind:30315` "User Status" is defined as an *optionally expiring* _parameterized replaceable event_, where the `d` tag represents the status type: + +For example: + +```js +{ + "kind": 30315, + "content": "Sign up for nostrasia!", + "tags": [ + ["d", "general"], + ["r", "https://nostr.world"] + ], +} + +{ + "kind": 30315, + "content": "Intergalatic - Beastie Boys", + "tags": [ + ["d", "music"], + ["r", "spotify:search:Intergalatic%20-%20Beastie%20Boys"], + ["expiration", "1692845589"] + ], +} +``` + +Two common status types are defined: `general` and `music`. `general` represent general statuses: "Working", "Hiking", etc. + +`music` status events are for live streaming what you are currently listening to. The expiry of the `music` status should be when the track will stop playing. + +Any other status types can be used but they are not defined by this NIP. + +The status MAY include an `r`, `p`, `e` or `a` tag linking to a URL, profile, note, or parameterized replaceable event. + +# Client behavior + +Clients MAY display this next to the username on posts or profiles to provide live user status information. + +# Use Cases + +* Calendar nostr apps that update your general status when you're in a meeting +* Nostr Nests that update your general status with a link to the nest when you join +* Nostr music streaming services that update your music status when you're listening +* Podcasting apps that update your music status when you're listening to a podcast, with a link for others to listen as well +* Clients can use the system media player to update playing music status + -- cgit v1.2.3