Messages

Circle supports messaging via direct messages, group chat rooms, and chat spaces.

Chat Rooms

A Chat Room is the shared container for all real-time chat conversations in Circle.

Kind

There are two kinds of Chat Rooms:

type ChatRoomKind = 'direct' | 'group_chat'
  • direct - for one-on-one conversations

  • group_chat - for rooms with multiple people

Embedded rooms

A Chat Room can be embedded in a course lesson, live room, or a space:

  • Course Lesson:

    • When a Chat Room belongs to a Lesson for course comments, you’ll see an additional course_lesson attribute denoting the lesson ID.

  • Live Room:

    • When a Chat Room belongs to a Live Room for chat in a live stream, you’ll see an additional parent attribute denoting the live room ID.

  • Space:

    • When a Chat Room belongs to a Space as a chat space, you’ll see an additional parent attribute denoting the live room ID.

Structure

Chat Room Message

A ChatRoomMessage represents a single message within a chat room. It is always attached to a ChatRoom and a participant.

Threads/Replies

A message can contain replies, or be a reply to another message. When a message contains replies, this is called a Thread.

  • The attribute parentMessageId tells you if that message you are looking at is part of a thread.

  • The attribute hasReplies tells you if that message has any nested replies.

Structure

Last updated