diff options
Diffstat (limited to '38.md')
| -rw-r--r-- | 38.md | 59 |
1 files changed, 59 insertions, 0 deletions
| @@ -0,0 +1,59 @@ | |||
| 1 | |||
| 2 | NIP-38 | ||
| 3 | ====== | ||
| 4 | |||
| 5 | User Statuses | ||
| 6 | -------------- | ||
| 7 | |||
| 8 | `draft` `optional` `author:jb55` | ||
| 9 | |||
| 10 | ## Abstract | ||
| 11 | |||
| 12 | 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. | ||
| 13 | |||
| 14 | ## Live Statuses | ||
| 15 | |||
| 16 | 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: | ||
| 17 | |||
| 18 | For example: | ||
| 19 | |||
| 20 | ```js | ||
| 21 | { | ||
| 22 | "kind": 30315, | ||
| 23 | "content": "Sign up for nostrasia!", | ||
| 24 | "tags": [ | ||
| 25 | ["d", "general"], | ||
| 26 | ["r", "https://nostr.world"] | ||
| 27 | ], | ||
| 28 | } | ||
| 29 | |||
| 30 | { | ||
| 31 | "kind": 30315, | ||
| 32 | "content": "Intergalatic - Beastie Boys", | ||
| 33 | "tags": [ | ||
| 34 | ["d", "music"], | ||
| 35 | ["r", "spotify:search:Intergalatic%20-%20Beastie%20Boys"], | ||
| 36 | ["expiration", "1692845589"] | ||
| 37 | ], | ||
| 38 | } | ||
| 39 | ``` | ||
| 40 | |||
| 41 | Two common status types are defined: `general` and `music`. `general` represent general statuses: "Working", "Hiking", etc. | ||
| 42 | |||
| 43 | `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. | ||
| 44 | |||
| 45 | Any other status types can be used but they are not defined by this NIP. | ||
| 46 | |||
| 47 | The status MAY include an `r`, `p`, `e` or `a` tag linking to a URL, profile, note, or parameterized replaceable event. | ||
| 48 | |||
| 49 | # Client behavior | ||
| 50 | |||
| 51 | Clients MAY display this next to the username on posts or profiles to provide live user status information. | ||
| 52 | |||
| 53 | # Use Cases | ||
| 54 | |||
| 55 | * Calendar nostr apps that update your general status when you're in a meeting | ||
| 56 | * Nostr Nests that update your general status with a link to the nest when you join | ||
| 57 | * Nostr music streaming services that update your music status when you're listening | ||
| 58 | * Podcasting apps that update your music status when you're listening to a podcast, with a link for others to listen as well | ||
| 59 | * Clients can use the system media player to update playing music status | ||