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

require 'getstream_ruby'

Models = GetStream::Generated::Models

client.chat.update_channel("messaging", "general", Models::UpdateChannelRequest.new(
  invites: [Models::ChannelMemberRequest.new(user_id: 'thierry')]
))

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!").

require 'getstream_ruby'

Models = GetStream::Generated::Models

client.chat.update_channel("messaging", "general", Models::UpdateChannelRequest.new(
  accept_invite: true,
  user_id: 'thierry'
))

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.

require 'getstream_ruby'

Models = GetStream::Generated::Models

client.chat.update_channel("messaging", "general", Models::UpdateChannelRequest.new(
  reject_invite: true,
  user_id: 'thierry'
))

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

require 'getstream_ruby'

Models = GetStream::Generated::Models

client.chat.query_channels(Models::QueryChannelsRequest.new(
  filter_conditions: { 'invite' => 'accepted' }
))

Query Rejected Invites

require 'getstream_ruby'

Models = GetStream::Generated::Models

client.chat.query_channels(Models::QueryChannelsRequest.new(
  filter_conditions: { 'invite' => 'rejected' }
))

Query Pending Invites

require 'getstream_ruby'

Models = GetStream::Generated::Models

client.chat.query_channels(Models::QueryChannelsRequest.new(
  filter_conditions: { 'invite' => 'pending' }
))
Add Chat to my app: getstream.io/SKILL.md

The fastest way to build with Stream. Start a new project or improve an existing one. Full CLI and documentation integration out of the box.


Ask your agent:

/stream Build me a Social App with Feeds and Moderation.
/stream Any livestream calls running?
/stream Chat Ruby: <Your Question>