nips/24.md

72 lines
2.6 KiB
Markdown
Raw Normal View History

2023-09-24 15:48:55 -04:00
NIP-24
======
Extra metadata fields and tags
------------------------------
2023-11-15 19:42:51 -05:00
`draft` `optional`
2023-09-24 15:48:55 -04:00
This NIP defines extra optional fields added to events.
kind 0
======
These are extra fields not specified in NIP-01 that may be present in the stringified JSON of metadata events:
- `display_name`: an alternative, bigger name with richer characters than `name`. `name` should always be set regardless of the presence of `display_name` in the metadata.
2023-09-24 15:48:55 -04:00
- `website`: a web URL related in any way to the event author.
2023-09-24 18:48:05 -04:00
- `banner`: an URL to a wide (~1024x768) picture to be optionally displayed in the background of a profile screen.
- `bot`: a boolean to clarify that the content is entirely or partially the result of automation, such as with chatbots or newsfeeds.
### User defined custom fields
A `fields` attribute may also be added to profile metadata to represent user-defined fields. It is an array name-value tuples, eg:
```json
[["<name>", "<value>"], ...]
```
In the context of a full metadata object:
```json
{
"name": "Alex",
"avatar": "https://...",
"fields": [
["Pronouns", "ye/haw"],
["Lifestyle", "vegan"],
["Color", "green"]
]
}
```
While protocol-level fields like `lud16` and `avatar` can influence the behavior of a user's account, custom fields are used for display purposes only. Clients should display custom fields in a confined area of the user's profile, and not make assumptions about their meaning.
Custom fields should be displayed in the order they are defined by the user, and entries may be duplicated. The name and value can be any string, although clients may truncate or ellipsize long values, and may limit the total number of fields displayed.
2023-09-24 18:48:05 -04:00
### Deprecated fields
These are fields that should be ignored or removed when found in the wild:
- `displayName`: use `display_name` instead.
- `username`: use `name` instead.
2023-09-24 15:48:55 -04:00
kind 3
======
2024-06-13 08:02:35 -04:00
These are extra fields not specified in NIP-02 that may be present in the stringified JSON of follow events:
### Deprecated fields
- `{<relay-url>: {"read": <true|false>, "write": <true|false>}, ...}`: an object of relays used by a user to read/write. [NIP-65](65.md) should be used instead.
2023-09-24 15:48:55 -04:00
tags
====
These tags may be present in multiple event kinds. Whenever a different meaning is not specified by some more specific NIP, they have the following meanings:
2024-08-15 21:28:53 -04:00
- `r`: a web URL the event is referring to in some way.
- `i`: an external id the event is referring to in some way - see [NIP-73](73.md).
- `title`: name of [NIP-51](51.md) sets, [NIP-52](52.md) calendar event, [NIP-53](53.md) live event or [NIP-99](99.md) listing.
- `t`: a hashtag. The value MUST be a lowercase string.