Appearance
Kind 39002: Group Members
Overview
This event contains a list of members in a relay-based group. It is generated and signed by the relay itself and provides information about who is currently a member of the group.
Specification
Property | Value |
---|---|
Kind Number | 39002 |
Event Range | Addressable |
Defined in | NIP-29 |
Content Format
The content
field typically contains a short description of the event, such as "list of members for the [group name] group".
Schema
"list of members for the [group name] group"
Tags
Tag Name | Description | Format | Required |
---|---|---|---|
d | Group identifier | ["d", "<group-id>"] | Yes |
p | Member public key | ["p", "<pubkey-hex>"] | Yes |
Client Behavior
Clients should use this event to display a list of group members and to verify whether a user is a member of a group. However, clients should not assume this event will always be present or that it will contain a complete list of members, as relays might choose to limit what information is published.
Relay Behavior
This event MUST be generated and signed by the relay's master key. Relays shouldn't accept these events if they're signed by anyone else.
Relays might choose:
- Not to publish this information at all.
- To restrict what pubkeys can fetch this information.
- To only display a subset of the members in it.
Relays should update this event when:
- New members join the group via kind 9000 events or approved kind 9021 requests.
- Members leave the group via kind 9022 requests or are removed via kind 9001 events.
Use Cases
- Displaying a member list in the client UI.
- Checking if a specific user is a member of the group.
- Creating a directory of group participants.
Example
json
{
"id": "...",
"pubkey": "1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
"created_at": 1671217411,
"kind": 39002,
"tags": [
["d", "vegans-united"],
["p", "abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890"],
["p", "bcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890a"],
["p", "cdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890ab"],
["p", "def1234567890abcdef1234567890abcdef1234567890abcdef1234567890abc"]
],
"content": "list of members for the vegan group",
"sig": "..."
}
References
Related Kinds
- Kind 9000: Group User Addition
- Kind 9001: Group User Removal
- Kind 9021: Group Join Request
- Kind 9022: Group Leave Request
- Kind 39000: Group Metadata
- Kind 39001: Group Admins
Notes
According to NIP-29, clients should not assume this event will always be present or that it will contain a complete list of members. This is because relays might choose not to publish this information, to restrict who can fetch it, or to only display a subset of the members for privacy or performance reasons.
In unmanaged
groups (groups without proper relay support for NIP-29), everybody is considered to be a member, and this event may not be present.