Skip to main content
Message categories and types:
  • messagetext, image, video, audio, file
  • custom → Developer-defined types (e.g., location, poll)
  • actiongroupMember (joined/left/kicked/banned), message (edited/deleted)
  • callaudio, video
  • interactiveform, card, customInteractive
Every message in CometChat belongs to a category (message, custom, action, call, interactive) and has a specific type within that category.

Message Hierarchy

Categories Overview

Checking Message Category and Type

Use getCategory() and getType() to determine how to handle a received message:

Standard Messages (message Category)

Messages with category message are standard user-sent messages:

Custom Messages (custom Category)

Custom messages allow you to send data that doesn’t fit the default categories. You define your own type to identify the message (e.g., location, poll, sticker).
See Send Message → Custom Messages for details.

Interactive Messages (interactive Category)

An InteractiveMessage encapsulates an interactive unit within a chat message, such as an embedded form that users can fill out directly within the chat interface. See Interactive Messages for details.

Action Messages (action Category)

Action messages are system-generated events. They have a type and an action property: Type: groupMember — Actions on group members:
  • joined — Member joined the group
  • left — Member left the group
  • kicked — Member was kicked
  • banned — Member was banned
  • unbanned — Member was unbanned
  • added — Member was added
  • scopeChanged — Member’s scope was changed
Type: message — Actions on messages:
  • edited — Message was edited
  • deleted — Message was deleted

Call Messages (call Category)

Call messages track call events with types audio or video. The status property indicates the call state: See Default Calling or Direct Calling for implementation.

Next Steps

Send Messages

Send text, media, and custom messages

Receive Messages

Listen for incoming messages in real time

Interactive Messages

Build forms, cards, and custom interactive messages

Message Filtering

Advanced message filtering with RequestBuilder