Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 9 additions & 5 deletions 29.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ Any user can send a kind `9021` event to the relay in order to request admission
}
```

The optional `code` tag may be used by the relay to preauthorize acceptances in `closed` groups, together with the `kind:9009` `create-invite` moderation event.
The optional `code` tag may be used by the relay to preauthorize acceptance, together with the `kind:9009` `create-invite` moderation event.

- *leave request* (`kind:9022`)

Expand Down Expand Up @@ -153,14 +153,18 @@ When this event is not found, clients may still connect to the group, but treat
["name", "Pizza Lovers"],
["picture", "https://pizza.com/pizza.png"],
["about", "a group for people who love pizza"],
["public"], // or ["private"]
["open"] // or ["closed"]
["private"],
["closed"]
]
// other fields...
}
```

`name`, `picture` and `about` are basic metadata for the group for display purposes. `public` signals the group can be _read_ by anyone, while `private` signals that only AUTHed users can read. `open` signals that anyone can request to join and the request will be automatically granted, while `closed` signals that members must be pre-approved or that requests to join will be manually handled.
- `name`, `picture` and `about` are basic metadata for the group for display purposes.
- `private` indicates that only members can _read_ group messages. Omitting this tag indicates that anyone can read group messages.
- `restricted` indicates that only members can _write_ messages to the group. Omitting this tag indicates that anyone can send messages to the group.
- `hidden` indicates that relays should hide group metadata from non-members. Omitting this tag indicates that anyone can request group metadata events.
- `closed` indicates that join requests are ignored. Omitting this tag indicates that users can expect join requests to be honored.

- *group admins* (`kind:39001`) (optional)

Expand Down Expand Up @@ -231,7 +235,7 @@ The latest of either `kind:9000` or `kind:9001` events present in a group should

### Adding yourself to a group

When a group is `open`, anyone can send a `kind:9021` event to it in order to be added, then expect a `kind:9000` event to be emitted confirming that the user was added. The same happens with `closed` groups, except in that case a user may only send a `kind:9021` if it has an invite code.
Anyone can send a `kind:9021` join request to a group. The relay may then generate a `kind:9000` event immediately, or defer that decision to an administator. If a group is `closed`, join requests are not honored unless they include an invite code.

### Storing your list of groups

Expand Down