Skip to main content

Community Members

Members are users who have joined a community. Each member can have roles assigned and a custom nickname.

CommunityMember Structure

id
fixed64
Snowflake ID of the user
community_id
fixed64
Snowflake ID of the community
role_ids
fixed64[]
List of role IDs assigned to this member
nickname
string
Custom nickname for this member in this community. If not set, the user’s global name is used.

Get Members

Retrieve specific members from a community by their user IDs. Method: communities.getMembers Request: GetMembers
community_id
fixed64
Snowflake ID of the community
member_ids
fixed64[]
List of user IDs to fetch member information for
Response: Members
members
CommunityMember[]
List of community member objects with role and nickname information
users
User[]
List of user objects corresponding to the members (global user data like name, photo, etc.)
Example:
GetMembers {
  community_id: 123456789
  member_ids: [111111111, 222222222, 333333333]
}

Get Channel Members

Retrieve a list of members who have access to a specific channel. Method: communities.getChannelMembers Request: GetChannelMembers
community_id
fixed64
Snowflake ID of the community
channel_id
fixed64
Snowflake ID of the channel
Response: MemberList
entries
MemberListEntry[]
List of member list entries for the channel
This method is useful for displaying member lists in the UI, showing who can access a particular channel based on permissions.

Edit Member

Modify a member’s properties within a community, such as their nickname or assigned roles. Method: communities.editMember Request: EditMember
community_id
fixed64
Snowflake ID of the community
member_id
fixed64
Snowflake ID of the user/member to edit
nickname
string
New nickname for the member. Can be set to empty string to remove the nickname.
role_ids
CommunityMemberRoleIds
New set of roles to assign to this member. Replaces all existing roles.

CommunityMemberRoleIds Structure

role_ids
fixed64[]
List of role IDs to assign to the member
Example - Change Nickname:
EditMember {
  community_id: 123456789
  member_id: 987654321
  nickname: "Cool Nickname"
}
Example - Assign Roles:
EditMember {
  community_id: 123456789
  member_id: 987654321
  role_ids: {
    role_ids: [111111111, 222222222]
  }
}
Example - Remove Nickname:
EditMember {
  community_id: 123456789
  member_id: 987654321
  nickname: ""
}

Member Permissions

A member’s effective permissions are calculated by combining:
  1. Default permissions - Base permissions granted to all members
  2. Role permissions - Permissions from all roles assigned to the member
  3. Channel overrides - Channel-specific permission overrides for the member’s roles
The ADMINISTRATOR permission bypasses all permission checks.

Permission Calculation

For members with multiple roles:
  • Permissions are combined using bitwise OR
  • The highest priority role determines display color
  • Channel overrides are applied last (denies before allows)
See Roles & Permissions for detailed information about the permission system.

Member Display

When displaying members in the UI:
  • Use the member’s nickname if set, otherwise use the user’s global name
  • Display color is determined by the highest priority role with a color
  • Members can be grouped separately if they have a role with separated: true
  • Role badges can be shown based on the member’s role_ids

Build docs developers (and LLMs) love