What's what

We tried to keep Chat SDK simple and name things as they are. Still, certain terms might not be clear at first sight or are PubNub-specific. When in doubt, refer to this simple list.

Term(s)DescriptionRelated docs
ChannelA room created for at least two people to have a conversation. Channel members can send messages, receive messages, and react to them. You can also forward messages to other channels, quote, or pin them to the channel, and much more. What you can do on a given channel depends on its type and the permissions you have (granted or revoked through Access Manager).Channels
Direct vs. group vs. public channelThree types of channels you can create with the Chat SDK using three separate methods. The choice of a method/channel type depends on how many people you want to have in a given conversation.

When you create a direct channel, you can invite only one person to a conversation when creating a channel, while group channels allow you to invite multiple members.

Public channels, on the other hand, don't require invites. Anyone can join them as they are meant for larger audiences, like in virtual events. They also have certain limitations in place - you'll get errors when trying to implement such Chat SDK features as typing indicator, invites, or read receipts in public channels since these features are neither useful nor practical for large audiences.

For channels created using the JavaScript SDK instead of Chat SDK, whose type provided in channel metadata is different than the three mentioned Chat SDK types, the channel will get the type of unknown.
Direct, group, and public channels
Connect vs. subscribe vs. joinConnecting to a channel lets you "watch" what is happening on that channel and see all new messages. This way, you become subscribed to this channel (or "present" on this channel) and receive all message-related events. To become a member of this channel, you must explicitly join it. In some cases, like a group channel, you can join a given channel only when invited by another member of this channel or its admin (depending on the channel permissions).Watch, Invites, Membership
Thread vs. channelThe term thread or a thread channel refers to a ThreadChannel object, which is simply a channel created for a message in the main channel to keep the conversation related to one topic in one place. You can think of a thread as a "subchannel" of the main channel. Thread channels' IDs start with the PUBNUB_INTERNAL_THREAD prefix.Threads
Message vs. thread messageA message that starts a thread is a regular Message object with the hasThread parameter set to true to distinguish it from other messages. All messages in a thread are called thread messages (ThreadMessage objects and their instances).Threads
Message vs. draft messageA draft message is a message you create, modify, but have not sent to a channel (published) yet. For example, when you prepare a message that adds links or mentions, you operate on a message draft (MessageDraft object).Links, Mentions
MembershipAn object that describes a relationship between a channel and a user and its status - whether a user joined a channel and became its member, or left the channel.Membership
Message reactionYou can perform various actions on a message (such as deleting or editing). When you add or remove an emoji to/from a message, you react to it, so you add/remove a message reaction. PubNub Message Reactions API handles both cases.Reactions
Last updated on
On this page