Event object

An object that refers to a single piece of information emitted when someone is typing, receiving a message, mentioning others in a message, or reporting a message/user to the admin.

Contrary to other Chat SDK entities, this object provides no methods. Its only purpose is to pass payloads of different types emitted when certain chat operations occur.

Properties

The Event interface has the following properties:

public protocol Event<T> {
associatedtype C: Chat
associatedtype T: EventContent

var chat: C { get }
var timetoken: Timetoken { get }
var payload: T { get }
var channelId: String { get }
var userId: String { get }
}
ParameterTypeDescription
chatCReference to the main ChatImpl object.
timetokenTimetokenTimetoken of the message that triggered an event.
payloadTData passed in an event (of EventContent subtype) that differ depending on the emitted event type (Typing, Report, Receipt, Mention, Invite, Custom, or Moderation).
channelIdStringTarget channel where this event is delivered.
userIdStringUnique ID of the user that triggered the event.
icon

Event structure

Use case

You can use events to collect historical chat events or create your own custom events. You can later visualize them in a graphical form (like a moderation dashboard for flagged users and messages) or create additional business logic with functions that these events can trigger.

Last updated on
On this page