Chats vs Communities
Chats are designed for direct, personal communication:- Direct messages (DMs) between two users
- Group chats with multiple participants
- Conversation-based interface with read states
- Personal permissions and muting settings
- Multiple organized channels (text, voice, categories)
- Role-based permission system
- Hierarchical structure with channels and categories
- Server-wide settings and moderation
Core Chat Types
The protocol defines chats through theConversation type, which can represent:
- Direct Messages - One-on-one conversations between two users
- Group Chats - Multi-user conversations managed through the
Grouptype
GetChats
Retrieve a list of all your conversations with pagination support.Maximum number of chats to return
Snowflake ID - return chats older than this ID (for pagination)
Snowflake ID - return chats newer than this ID (for pagination)
Response: Chats
List of conversation objects containing read states and metadata
User objects referenced in the conversations
Group objects for group chats
Channel objects (if any conversations are with channels)
Last messages for each conversation
Key Features
Conversation Management
- Retrieve all chats with
GetChats - Get individual chat details with
GetChat - Track read states and unread counts
- Support for drafts and typing indicators
Group Chat Operations
- Create new group chats with multiple users
- Update group chat settings (name, etc.)
- Manage participants (add/remove members)
- Owner-based permission model
Read States & Activity
- Mark messages as read with
MarkChatRead - Track unread message counts per conversation
- Set typing indicators with
SetTyping - Maintain last read message position
Invitations
- Create chat invites with expiration and usage limits
- List all invites for a chat
- Delete/revoke invites
Next Steps
Direct Messages
Learn about direct messaging and the Conversation type
Group Chats
Create and manage group conversations
Conversations
Understand read states, typing indicators, and chat invites