Advanced Member Discovery: The query member feature enables comprehensive member search and retrieval within chat channels. With support for filtering by membership status, roles, deletion status, and flexible sorting options, you can create seamless member management experiences.
Query Capabilities
Member querying provides flexible search and filtering options to help users find and manage channel participants effectively.Advanced Filtering
Multiple filter criteria
- Membership status filtering (active, muted, banned)
- Role-based member filtering
- Include/exclude deleted users
- Flexible sorting options
Paginated Results
Efficient data loading
- Pagination support for large member lists
- Real-time updates with Live Collections
- Search functionality with keyword matching
- Customizable page sizes and limits
Implementation Guide
Essential member retrieval functionalityQuery members within a chat channel with flexible filtering and sorting options. This enables comprehensive member discovery and management within your chat application.
Required Parameters
Parameter | Type | Description |
---|---|---|
channelId | String | Unique identifier of the channel to query members from |
Optional Parameters
Parameter | Type | Default | Description |
---|---|---|---|
filter | FilterEnum | ALL | Filter members by membership status (ALL, MEMBER, MUTED, BANNED) |
roles | Array<String> | [] | Filter members by specific roles assigned in the channel |
includeDeleted | Boolean | false | Include members whose user accounts have been deleted |
sortBy | SortEnum | LAST_CREATED | Sort order for member results (FIRST_CREATED, LAST_CREATED) |
Code Examples
Member Count Calculation: Channel member count value is based on all members in the channel including the members whose user has been deleted.
API Reference
Filter Options
Membership status filtering
ALL
: Members with any membership statusMEMBER
: Only active membersMUTED
: Only muted membersBANNED
: Only banned members
Sort Options
Result ordering
FIRST_CREATED
: Oldest members firstLAST_CREATED
: Newest members first
Membership Status Filters
Filter | Description | Use Case |
---|---|---|
ALL | Members with any membership status | General member lists, comprehensive views |
MEMBER | Only active members | User-facing member lists, active participant views |
MUTED | Only muted members | Moderation interfaces, review muted users |
BANNED | Only banned members | Administrative tools, ban management |
Role-Based Filtering
Parameter | Type | Description |
---|---|---|
roles | Array<String> | Filter members by specific roles (e.g., “moderator”, “admin”) |
Data Inclusion Options
Parameter | Type | Description |
---|---|---|
includeDeleted | Boolean | Whether to include members whose user accounts have been deleted |
Sorting Options
Sort Option | Description | Behavior |
---|---|---|
FIRST_CREATED | Sort by membership creation date ascending | Shows oldest members first |
LAST_CREATED | Sort by membership creation date descending | Shows newest members first |
Membership Creation Date: The membership creation date refers to when the user joined the channel, not when their user account was created.
Best Practices
Query Optimization
Query Optimization
Performance and efficiency strategiesTargeted Filtering
- Use specific filters to reduce result set size and improve load times
- Combine multiple filter criteria when searching for specific member types
- Consider your use case when deciding whether to include deleted users
- Implement proper pagination for channels with large member counts (>20 members)
- Use appropriate page sizes (20-50 items) to balance performance and UX
- Load additional pages only when needed to conserve bandwidth
Member Status Management
Member Status Management
Handling different member states effectivelyStatus-Specific UI Design
- Active Members: Primary focus for user-facing features and interactions
- Muted Members: Separate moderation views with clear status indicators
- Banned Members: Administrative interfaces with appropriate warnings
- Deleted Users: Consider data retention and privacy requirements
- Utilize live collections to receive instant status changes
- Update UI immediately when member status changes
- Handle status transitions gracefully in your interface
- Respect user privacy when displaying member information
- Implement appropriate access controls for sensitive member data
- Consider anonymization for deleted user accounts
Search & Discovery UX
Search & Discovery UX
User experience optimization for member discoverySearch Implementation
- Implement debounced search (300-500ms delay) to reduce API calls
- Provide real-time search results as users type
- Show search suggestions or recent searches for better UX
- Provide intuitive filter controls for membership status and roles
- Show active filter indicators and easy reset options
- Show appropriate loading indicators during queries
- Implement skeleton screens for better perceived performance
- Provide clear error messages when queries fail
- Load basic member list first, then apply filters
- Implement infinite scroll for seamless browsing
- Cache search results for faster subsequent queries
Role-Based Access
Role-Based Access
Implementing proper access controlsPermission-Based Queries
- Filter query results based on user permissions
- Restrict sensitive member information to authorized users only
- Implement role-based visibility controls
- Provide comprehensive member management for admins and moderators
- Include banned and muted member views for moderation purposes
- Implement bulk actions for efficient member management
- Respect channel privacy settings when displaying members
- Implement appropriate member visibility controls
- Consider opt-out preferences for member discovery
Example: Permission-Based Filtering
Implementation Strategy: Start with basic member queries using default parameters, then progressively add filtering, search, and role-based access as your application grows. Use specific filters and pagination to optimize performance for channels with large member counts.