abstract class Caridina::Events::Message::Content

Overview

Represents a m.room.message event's content.

This event's content can have different fields according to its field #msgtype. Each available content is represent by its own type. To know which message event you are dealing with, you can use a case clause over the content's type.

case event.content
when Caridina::Events::Message::Text
  # handle a message
when Caridina::Events::Message::MSC2676::Text
  # handle a message edit
when Caridina::Events::Message::Unknown
  # Unknown message type, but you can still inspect `event.content.body` and
  # `event.content.msgtype`.
else
  # fallback
end

Matrix API

Direct Known Subclasses

Defined in:

caridina/events/modules/instant_messaging.cr

Constructors

Instance Method Summary

Instance methods inherited from class Caridina::Events::Event::Content

relates_to : RelatesTo | Nil relates_to

Constructor methods inherited from class Caridina::Events::Event::Content

new(pull : JSON::PullParser) new

Constructor Detail

def self.new(pull : JSON::PullParser) #

Represents a m.room.message event's content.

This event's content can have different fields according to its field #msgtype. Each available content is represent by its own type. To know which message event you are dealing with, you can use a case clause over the content's type.

case event.content
when Caridina::Events::Message::Text
  # handle a message
when Caridina::Events::Message::MSC2676::Text
  # handle a message edit
when Caridina::Events::Message::Unknown
  # Unknown message type, but you can still inspect `event.content.body` and
  # `event.content.msgtype`.
else
  # fallback
end

Matrix API


[View source]

Instance Method Detail

def body : String #

[View source]
def msgtype : String #

[View source]