Merge pull request #1574 from nostr-protocol/nip29-smalltweaks

NIP-29: some small tweaks
This commit is contained in:
fiatjaf_ 2024-11-11 21:37:22 -03:00 committed by GitHub
commit 2838e3bd51
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

45
29.md
View File

@ -66,28 +66,7 @@ These are the events expected to be found in NIP-29 groups.
These events generally can be sent by all members of a group and they require the `h` tag to be present so they're attached to a specific group.
- *text root note* (`kind:11`)
This is the basic unit of a "microblog" root text note sent to a group.
```jsonc
"kind": 11,
"content": "hello my friends lovers of pizza",
"tags": [
["h", "<group-id>"],
["previous", "<event-id-first-chars>", "<event-id-first-chars>", /*...*/]
]
// other fields...
```
- *threaded text reply* (`kind:12`)
This is the basic unit of a "microblog" reply note sent to a group. It's the same as `kind:11`, except for the fact that it must be used whenever it's in reply to some other note (either in reply to a `kind:11` or a `kind:12`). `kind:12` events SHOULD use NIP-10 markers, leaving an empty relay url:
* `["e", "<kind-11-root-id>", "", "root"]`
* `["e", "<kind-12-event-id>", "", "reply"]`
- *chat message* (`kind:9`)
- _chat message_ (`kind:9`)
This is the basic unit of a _chat message_ sent to a group.
@ -101,15 +80,23 @@ This is the basic unit of a _chat message_ sent to a group.
// other fields...
```
- *chat message threaded reply* (`kind:10`)
- _thread root post_ (`kind:11`)
Similar to `kind:12`, this is the basic unit of a chat message sent to a group. This is intended for in-chat threads that may be hidden by default. Not all in-chat replies MUST use `kind:10`, only when the intention is to create a hidden thread that isn't part of the normal flow of the chat (although clients are free to display those by default too).
This is the basic unit of a forum-like root thread post sent to a group.
`kind:10` SHOULD use NIP-10 markers, just like `kind:12`.
```jsonc
"kind": 11,
"content": "hello my friends lovers of pizza",
"tags": [
["h", "<group-id>"],
["previous", "<event-id-first-chars>", "<event-id-first-chars>", /*...*/]
]
// other fields...
```
- other events:
- _other events_:
Groups may also accept other events, like long-form articles, calendar, livestream, market announcements and so on. These should be as defined in their respective NIPs, with the addition of the `h` tag.
Groups may also accept other events, like [NIP-22](22.md) comments as threaded replies to both chats messages and threads, long-form articles, calendar, livestreams, market announcements and so on. These should be as defined in their respective NIPs, with the addition of the `h` tag.
### User-related group management events
@ -169,10 +156,10 @@ Each moderation action uses a different kind and requires different arguments, w
| kind | name | tags |
| --- | --- | --- |
| 9000 | `add-user` | `p` with pubkey hex and optional roles |
| 9000 | `put-user` | `p` with pubkey hex and optional roles |
| 9001 | `remove-user` | `p` with pubkey hex |
| 9002 | `edit-metadata` | fields from `kind:39000` to be modified |
| 9005 | `delete-event` | |
| 9005 | `delete-event` | `e` with event id hex |
| 9007 | `create-group` | |
| 9008 | `delete-group` | |
| 9009 | `create-invite` | |