// Invite IStreamUser collection as new members
await channel.InviteMembersAsync(users);
// Or add by ID
await channel.InviteMembersAsync("some-user-id-1", "some-user-id-2");Invites
Invites allow you to add users to a channel with a pending state. The invited user receives a notification and can accept or reject the invite.
Unread counts are not incremented for channels with a pending invite.
Invite Users
Accept an Invite
Call acceptInvite to accept a pending invite. You can optionally include a message parameter to post a system message when the user joins (e.g., "Nick joined this channel!").
await channel.AcceptInviteAsync();Reject an Invite
Call rejectInvite to decline a pending invite. Client-side calls use the currently connected user. Server-side calls require a user_id parameter.
await channel.RejectInviteAsync();Query Invites by Status
Use queryChannels with the invite filter to retrieve channels based on invite status. Valid values are pending, accepted, and rejected.
Query Accepted Invites
var filter = new List<IFieldFilterRule>
{
ChannelFilter.Invite.EqualsTo(ChannelFieldInvite.Status.Accepted)
};
var sort = ChannelSort.OrderByDescending(ChannelSortFieldName.LastMessageAt);
var acceptedInvites = await Client.QueryChannelsAsync(filter, sort);Query Rejected Invites
var filter = new List<IFieldFilterRule>
{
ChannelFilter.Invite.EqualsTo(ChannelFieldInvite.Status.Rejected)
};
var sort = ChannelSort.OrderByDescending(ChannelSortFieldName.LastMessageAt);
var rejectedInvites = await Client.QueryChannelsAsync(filter, sort);Query Pending Invites
var filter = new List<IFieldFilterRule>
{
ChannelFilter.Invite.EqualsTo(ChannelFieldInvite.Status.Pending)
};
var sort = ChannelSort.OrderByDescending(ChannelSortFieldName.LastMessageAt);
var pendingInvites = await Client.QueryChannelsAsync(filter, sort);