To filter group channels by user IDs, use SbGroupChannelListQuery's UserIdsExactFilter or UserIdsIncludeFilter. Let's assume the ID of the current user is Harry and the user is a member of three group channels.
Channel A: Harry and Jay.
Channel B: Harry, John, and Jin.
Channel C: Harry, John, Jin, and Jay.
A UserIdsExactFilter filter returns a list of the current user's group channels containing exactly the queried user IDs. In case you specify only one user ID in the filter, the filter returns a list of the current user's one or more distinct 1-to-1 group channels with the specified user.
SbGroupChannelListQueryParams queryParams = new SbGroupChannelListQueryParams();
queryParams.UserIdsExactFilter = new List<string>{"Jay"};
SbGroupChannelListQuery query = SendbirdChat.GroupChannel.CreateMyGroupChannelListQuery(queryParams);
query.LoadNextPage((inChannels, inError)=>{if(inError != null)return;//Handle error.});
A UserIdsIncludeFilter filter returns a list of the current user's group channels including the queried user IDs partially or exactly. Depending on the value of the SbGroupChannelListQueryType parameter, different results can be returned.
SbGroupChannelListQueryParams queryParams = new SbGroupChannelListQueryParams();
queryParams.SetUserIdsIncludeFilter(new List {"John","Jay","Jin"}, SbGroupChannelListQueryType.And);
SbGroupChannelListQuery query = SendbirdChat.GroupChannel.CreateMyGroupChannelListQuery(queryParams);
query.LoadNextPage((inChannels, inError)=>{if(inError != null)return;//Handle error.// Channels should include only { "John", "Jay", "Jin" } as a subset. // Thus, if successful, only Channel C is returned.});
queryParams = new SbGroupChannelListQueryParams();
queryParams.SetUserIdsIncludeFilter(new List<string>{"John","Jay","Jin"}, SbGroupChannelListQueryType.Or);
query = SendbirdChat.GroupChannel.CreateMyGroupChannelListQuery(queryParams);
query.LoadNextPage((inChannels, inError)=>{if(inError != null)return;//Handle error.// Channels may include any of the items in { "John", "Jay", "Jin" }.// Thus, if successful, all Channel A,B, and C are returned.});