Types conversations
One of the most important topics in context of tgbotapi is types conversations. This library is very strong-typed and a lot of things are based on types hierarchy. Lets look into the hierarchy of classes for the Message in 0.35.8:
%%{init: {"flowchart": {"defaultRenderer": "elk"}} }%%
classDiagram
Message <|-- AccessibleMessage
AccessibleMessage <|-- ChatEventMessage
ChatEventMessage <|-- ChannelEventMessage
ChatEventMessage <|-- GroupEventMessage
GroupEventMessage <|-- ChannelDirectMessagesEventMessage
ChannelDirectMessagesEventMessage <|-- CommonChannelDirectMessagesEventMessage
GroupEventMessage <|-- CommonGroupEventMessage
GroupEventMessage <|-- SupergroupEventMessage
SupergroupEventMessage <|-- CommonSupergroupEventMessage
ChatEventMessage <|-- PrivateEventMessage
ChatEventMessage <|-- PrivateForumEventMessage
AccessibleMessage <|-- CommonMessage
CommonMessage <|-- PossiblySentViaBotCommonMessage
PossiblySentViaBotCommonMessage <|-- BusinessContentMessage
BusinessContentMessage <|-- BusinessContentMessageImpl
PossiblySentViaBotCommonMessage <|-- ChannelContentMessage
ChannelContentMessage <|-- ChannelContentMessageImpl
ChannelContentMessage <|-- ChannelPaidPost
ChannelPaidPost <|-- ChannelPaidPostImpl
PossiblySentViaBotCommonMessage <|-- PrivateContentMessage
PrivateContentMessage <|-- PrivateContentMessageImpl
PrivateContentMessage <|-- PrivateForumContentMessage
PrivateForumContentMessage <|-- PrivateForumContentMessageImpl
PossiblySentViaBotCommonMessage <|-- PublicContentMessage
PublicContentMessage <|-- GroupContentMessage
GroupContentMessage <|-- AnonymousGroupContentMessage
AnonymousGroupContentMessage <|-- AnonymousGroupContentMessageImpl
GroupContentMessage <|-- ChannelDirectMessagesContentMessage
ChannelDirectMessagesContentMessage <|-- CommonChannelDirectMessagesContentMessage
CommonChannelDirectMessagesContentMessage <|-- CommonChannelDirectMessagesContentMessageImpl
ChannelDirectMessagesContentMessage <|-- FromChannelChannelDirectMessagesContentMessage
FromChannelChannelDirectMessagesContentMessage <|-- FromChannelChannelDirectMessagesContentMessageImpl
ChannelDirectMessagesContentMessage <|-- SuggestedChannelDirectMessagesContentMessage
SuggestedChannelDirectMessagesContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessage
CommonSuggestedChannelDirectMessagesContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessageImpl
SuggestedChannelDirectMessagesContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessage
FromChannelSuggestedChannelDirectMessagesContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessageImpl
GroupContentMessage <|-- CommonGroupContentMessage
CommonGroupContentMessage <|-- CommonGroupContentMessageImpl
GroupContentMessage <|-- ForumContentMessage
ForumContentMessage <|-- AnonymousForumContentMessage
AnonymousForumContentMessage <|-- AnonymousForumContentMessageImpl
ForumContentMessage <|-- CommonForumContentMessage
CommonForumContentMessage <|-- CommonForumContentMessageImpl
ForumContentMessage <|-- FromChannelForumContentMessage
FromChannelForumContentMessage <|-- FromChannelForumContentMessageImpl
GroupContentMessage <|-- FromChannelGroupContentMessage
FromChannelGroupContentMessage <|-- ConnectedFromChannelGroupContentMessage
ConnectedFromChannelGroupContentMessage <|-- ConnectedFromChannelGroupContentMessageImpl
FromChannelGroupContentMessage <|-- FromChannelChannelDirectMessagesContentMessage
FromChannelChannelDirectMessagesContentMessage <|-- FromChannelChannelDirectMessagesContentMessageImpl
FromChannelGroupContentMessage <|-- FromChannelForumContentMessage
FromChannelForumContentMessage <|-- FromChannelForumContentMessageImpl
FromChannelGroupContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessage
FromChannelSuggestedChannelDirectMessagesContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessageImpl
FromChannelGroupContentMessage <|-- UnconnectedFromChannelGroupContentMessage
UnconnectedFromChannelGroupContentMessage <|-- UnconnectedFromChannelGroupContentMessageImpl
GroupContentMessage <|-- PotentiallyFromUserGroupContentMessage
PotentiallyFromUserGroupContentMessage <|-- CommonChannelDirectMessagesContentMessage
CommonChannelDirectMessagesContentMessage <|-- CommonChannelDirectMessagesContentMessageImpl
PotentiallyFromUserGroupContentMessage <|-- CommonForumContentMessage
CommonForumContentMessage <|-- CommonForumContentMessageImpl
PotentiallyFromUserGroupContentMessage <|-- CommonGroupContentMessage
CommonGroupContentMessage <|-- CommonGroupContentMessageImpl
PotentiallyFromUserGroupContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessage
CommonSuggestedChannelDirectMessagesContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessageImpl
AccessibleMessage <|-- ContentMessage
ContentMessage <|-- CommonMessage
CommonMessage <|-- PossiblySentViaBotCommonMessage
PossiblySentViaBotCommonMessage <|-- BusinessContentMessage
BusinessContentMessage <|-- BusinessContentMessageImpl
PossiblySentViaBotCommonMessage <|-- ChannelContentMessage
ChannelContentMessage <|-- ChannelContentMessageImpl
ChannelContentMessage <|-- ChannelPaidPost
ChannelPaidPost <|-- ChannelPaidPostImpl
PossiblySentViaBotCommonMessage <|-- PrivateContentMessage
PrivateContentMessage <|-- PrivateContentMessageImpl
PrivateContentMessage <|-- PrivateForumContentMessage
PrivateForumContentMessage <|-- PrivateForumContentMessageImpl
PossiblySentViaBotCommonMessage <|-- PublicContentMessage
PublicContentMessage <|-- GroupContentMessage
GroupContentMessage <|-- AnonymousGroupContentMessage
AnonymousGroupContentMessage <|-- AnonymousGroupContentMessageImpl
GroupContentMessage <|-- ChannelDirectMessagesContentMessage
ChannelDirectMessagesContentMessage <|-- CommonChannelDirectMessagesContentMessage
CommonChannelDirectMessagesContentMessage <|-- CommonChannelDirectMessagesContentMessageImpl
ChannelDirectMessagesContentMessage <|-- FromChannelChannelDirectMessagesContentMessage
FromChannelChannelDirectMessagesContentMessage <|-- FromChannelChannelDirectMessagesContentMessageImpl
ChannelDirectMessagesContentMessage <|-- SuggestedChannelDirectMessagesContentMessage
SuggestedChannelDirectMessagesContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessage
CommonSuggestedChannelDirectMessagesContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessageImpl
SuggestedChannelDirectMessagesContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessage
FromChannelSuggestedChannelDirectMessagesContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessageImpl
GroupContentMessage <|-- CommonGroupContentMessage
CommonGroupContentMessage <|-- CommonGroupContentMessageImpl
GroupContentMessage <|-- ForumContentMessage
ForumContentMessage <|-- AnonymousForumContentMessage
AnonymousForumContentMessage <|-- AnonymousForumContentMessageImpl
ForumContentMessage <|-- CommonForumContentMessage
CommonForumContentMessage <|-- CommonForumContentMessageImpl
ForumContentMessage <|-- FromChannelForumContentMessage
FromChannelForumContentMessage <|-- FromChannelForumContentMessageImpl
GroupContentMessage <|-- FromChannelGroupContentMessage
FromChannelGroupContentMessage <|-- ConnectedFromChannelGroupContentMessage
ConnectedFromChannelGroupContentMessage <|-- ConnectedFromChannelGroupContentMessageImpl
FromChannelGroupContentMessage <|-- FromChannelChannelDirectMessagesContentMessage
FromChannelChannelDirectMessagesContentMessage <|-- FromChannelChannelDirectMessagesContentMessageImpl
FromChannelGroupContentMessage <|-- FromChannelForumContentMessage
FromChannelForumContentMessage <|-- FromChannelForumContentMessageImpl
FromChannelGroupContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessage
FromChannelSuggestedChannelDirectMessagesContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessageImpl
FromChannelGroupContentMessage <|-- UnconnectedFromChannelGroupContentMessage
UnconnectedFromChannelGroupContentMessage <|-- UnconnectedFromChannelGroupContentMessageImpl
GroupContentMessage <|-- PotentiallyFromUserGroupContentMessage
PotentiallyFromUserGroupContentMessage <|-- CommonChannelDirectMessagesContentMessage
CommonChannelDirectMessagesContentMessage <|-- CommonChannelDirectMessagesContentMessageImpl
PotentiallyFromUserGroupContentMessage <|-- CommonForumContentMessage
CommonForumContentMessage <|-- CommonForumContentMessageImpl
PotentiallyFromUserGroupContentMessage <|-- CommonGroupContentMessage
CommonGroupContentMessage <|-- CommonGroupContentMessageImpl
PotentiallyFromUserGroupContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessage
CommonSuggestedChannelDirectMessagesContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessageImpl
ContentMessage <|-- PossiblyMediaGroupMessage
PossiblyMediaGroupMessage <|-- CommonMessage
CommonMessage <|-- PossiblySentViaBotCommonMessage
PossiblySentViaBotCommonMessage <|-- BusinessContentMessage
BusinessContentMessage <|-- BusinessContentMessageImpl
PossiblySentViaBotCommonMessage <|-- ChannelContentMessage
ChannelContentMessage <|-- ChannelContentMessageImpl
ChannelContentMessage <|-- ChannelPaidPost
ChannelPaidPost <|-- ChannelPaidPostImpl
PossiblySentViaBotCommonMessage <|-- PrivateContentMessage
PrivateContentMessage <|-- PrivateContentMessageImpl
PrivateContentMessage <|-- PrivateForumContentMessage
PrivateForumContentMessage <|-- PrivateForumContentMessageImpl
PossiblySentViaBotCommonMessage <|-- PublicContentMessage
PublicContentMessage <|-- GroupContentMessage
GroupContentMessage <|-- AnonymousGroupContentMessage
AnonymousGroupContentMessage <|-- AnonymousGroupContentMessageImpl
GroupContentMessage <|-- ChannelDirectMessagesContentMessage
ChannelDirectMessagesContentMessage <|-- CommonChannelDirectMessagesContentMessage
CommonChannelDirectMessagesContentMessage <|-- CommonChannelDirectMessagesContentMessageImpl
ChannelDirectMessagesContentMessage <|-- FromChannelChannelDirectMessagesContentMessage
FromChannelChannelDirectMessagesContentMessage <|-- FromChannelChannelDirectMessagesContentMessageImpl
ChannelDirectMessagesContentMessage <|-- SuggestedChannelDirectMessagesContentMessage
SuggestedChannelDirectMessagesContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessage
CommonSuggestedChannelDirectMessagesContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessageImpl
SuggestedChannelDirectMessagesContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessage
FromChannelSuggestedChannelDirectMessagesContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessageImpl
GroupContentMessage <|-- CommonGroupContentMessage
CommonGroupContentMessage <|-- CommonGroupContentMessageImpl
GroupContentMessage <|-- ForumContentMessage
ForumContentMessage <|-- AnonymousForumContentMessage
AnonymousForumContentMessage <|-- AnonymousForumContentMessageImpl
ForumContentMessage <|-- CommonForumContentMessage
CommonForumContentMessage <|-- CommonForumContentMessageImpl
ForumContentMessage <|-- FromChannelForumContentMessage
FromChannelForumContentMessage <|-- FromChannelForumContentMessageImpl
GroupContentMessage <|-- FromChannelGroupContentMessage
FromChannelGroupContentMessage <|-- ConnectedFromChannelGroupContentMessage
ConnectedFromChannelGroupContentMessage <|-- ConnectedFromChannelGroupContentMessageImpl
FromChannelGroupContentMessage <|-- FromChannelChannelDirectMessagesContentMessage
FromChannelChannelDirectMessagesContentMessage <|-- FromChannelChannelDirectMessagesContentMessageImpl
FromChannelGroupContentMessage <|-- FromChannelForumContentMessage
FromChannelForumContentMessage <|-- FromChannelForumContentMessageImpl
FromChannelGroupContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessage
FromChannelSuggestedChannelDirectMessagesContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessageImpl
FromChannelGroupContentMessage <|-- UnconnectedFromChannelGroupContentMessage
UnconnectedFromChannelGroupContentMessage <|-- UnconnectedFromChannelGroupContentMessageImpl
GroupContentMessage <|-- PotentiallyFromUserGroupContentMessage
PotentiallyFromUserGroupContentMessage <|-- CommonChannelDirectMessagesContentMessage
CommonChannelDirectMessagesContentMessage <|-- CommonChannelDirectMessagesContentMessageImpl
PotentiallyFromUserGroupContentMessage <|-- CommonForumContentMessage
CommonForumContentMessage <|-- CommonForumContentMessageImpl
PotentiallyFromUserGroupContentMessage <|-- CommonGroupContentMessage
CommonGroupContentMessage <|-- CommonGroupContentMessageImpl
PotentiallyFromUserGroupContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessage
CommonSuggestedChannelDirectMessagesContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessageImpl
AccessibleMessage <|-- OptionallyFromUserMessage
OptionallyFromUserMessage <|-- ChannelContentMessage
ChannelContentMessage <|-- ChannelContentMessageImpl
ChannelContentMessage <|-- ChannelPaidPost
ChannelPaidPost <|-- ChannelPaidPostImpl
OptionallyFromUserMessage <|-- FromUserMessage
FromUserMessage <|-- BusinessContentMessage
BusinessContentMessage <|-- BusinessContentMessageImpl
FromUserMessage <|-- CommonChannelDirectMessagesContentMessage
CommonChannelDirectMessagesContentMessage <|-- CommonChannelDirectMessagesContentMessageImpl
FromUserMessage <|-- CommonForumContentMessage
CommonForumContentMessage <|-- CommonForumContentMessageImpl
FromUserMessage <|-- CommonGroupContentMessage
CommonGroupContentMessage <|-- CommonGroupContentMessageImpl
FromUserMessage <|-- CommonSuggestedChannelDirectMessagesContentMessage
CommonSuggestedChannelDirectMessagesContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessageImpl
FromUserMessage <|-- GroupEventMessage
GroupEventMessage <|-- ChannelDirectMessagesEventMessage
ChannelDirectMessagesEventMessage <|-- CommonChannelDirectMessagesEventMessage
GroupEventMessage <|-- CommonGroupEventMessage
GroupEventMessage <|-- SupergroupEventMessage
SupergroupEventMessage <|-- CommonSupergroupEventMessage
FromUserMessage <|-- PassportMessage
FromUserMessage <|-- PrivateContentMessage
PrivateContentMessage <|-- PrivateContentMessageImpl
PrivateContentMessage <|-- PrivateForumContentMessage
PrivateForumContentMessage <|-- PrivateForumContentMessageImpl
AccessibleMessage <|-- PassportMessage
AccessibleMessage <|-- PossiblyEditedMessage
PossiblyEditedMessage <|-- CommonMessage
CommonMessage <|-- PossiblySentViaBotCommonMessage
PossiblySentViaBotCommonMessage <|-- BusinessContentMessage
BusinessContentMessage <|-- BusinessContentMessageImpl
PossiblySentViaBotCommonMessage <|-- ChannelContentMessage
ChannelContentMessage <|-- ChannelContentMessageImpl
ChannelContentMessage <|-- ChannelPaidPost
ChannelPaidPost <|-- ChannelPaidPostImpl
PossiblySentViaBotCommonMessage <|-- PrivateContentMessage
PrivateContentMessage <|-- PrivateContentMessageImpl
PrivateContentMessage <|-- PrivateForumContentMessage
PrivateForumContentMessage <|-- PrivateForumContentMessageImpl
PossiblySentViaBotCommonMessage <|-- PublicContentMessage
PublicContentMessage <|-- GroupContentMessage
GroupContentMessage <|-- AnonymousGroupContentMessage
AnonymousGroupContentMessage <|-- AnonymousGroupContentMessageImpl
GroupContentMessage <|-- ChannelDirectMessagesContentMessage
ChannelDirectMessagesContentMessage <|-- CommonChannelDirectMessagesContentMessage
CommonChannelDirectMessagesContentMessage <|-- CommonChannelDirectMessagesContentMessageImpl
ChannelDirectMessagesContentMessage <|-- FromChannelChannelDirectMessagesContentMessage
FromChannelChannelDirectMessagesContentMessage <|-- FromChannelChannelDirectMessagesContentMessageImpl
ChannelDirectMessagesContentMessage <|-- SuggestedChannelDirectMessagesContentMessage
SuggestedChannelDirectMessagesContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessage
CommonSuggestedChannelDirectMessagesContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessageImpl
SuggestedChannelDirectMessagesContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessage
FromChannelSuggestedChannelDirectMessagesContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessageImpl
GroupContentMessage <|-- CommonGroupContentMessage
CommonGroupContentMessage <|-- CommonGroupContentMessageImpl
GroupContentMessage <|-- ForumContentMessage
ForumContentMessage <|-- AnonymousForumContentMessage
AnonymousForumContentMessage <|-- AnonymousForumContentMessageImpl
ForumContentMessage <|-- CommonForumContentMessage
CommonForumContentMessage <|-- CommonForumContentMessageImpl
ForumContentMessage <|-- FromChannelForumContentMessage
FromChannelForumContentMessage <|-- FromChannelForumContentMessageImpl
GroupContentMessage <|-- FromChannelGroupContentMessage
FromChannelGroupContentMessage <|-- ConnectedFromChannelGroupContentMessage
ConnectedFromChannelGroupContentMessage <|-- ConnectedFromChannelGroupContentMessageImpl
FromChannelGroupContentMessage <|-- FromChannelChannelDirectMessagesContentMessage
FromChannelChannelDirectMessagesContentMessage <|-- FromChannelChannelDirectMessagesContentMessageImpl
FromChannelGroupContentMessage <|-- FromChannelForumContentMessage
FromChannelForumContentMessage <|-- FromChannelForumContentMessageImpl
FromChannelGroupContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessage
FromChannelSuggestedChannelDirectMessagesContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessageImpl
FromChannelGroupContentMessage <|-- UnconnectedFromChannelGroupContentMessage
UnconnectedFromChannelGroupContentMessage <|-- UnconnectedFromChannelGroupContentMessageImpl
GroupContentMessage <|-- PotentiallyFromUserGroupContentMessage
PotentiallyFromUserGroupContentMessage <|-- CommonChannelDirectMessagesContentMessage
CommonChannelDirectMessagesContentMessage <|-- CommonChannelDirectMessagesContentMessageImpl
PotentiallyFromUserGroupContentMessage <|-- CommonForumContentMessage
CommonForumContentMessage <|-- CommonForumContentMessageImpl
PotentiallyFromUserGroupContentMessage <|-- CommonGroupContentMessage
CommonGroupContentMessage <|-- CommonGroupContentMessageImpl
PotentiallyFromUserGroupContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessage
CommonSuggestedChannelDirectMessagesContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessageImpl
AccessibleMessage <|-- PossiblyForwardedMessage
PossiblyForwardedMessage <|-- CommonMessage
CommonMessage <|-- PossiblySentViaBotCommonMessage
PossiblySentViaBotCommonMessage <|-- BusinessContentMessage
BusinessContentMessage <|-- BusinessContentMessageImpl
PossiblySentViaBotCommonMessage <|-- ChannelContentMessage
ChannelContentMessage <|-- ChannelContentMessageImpl
ChannelContentMessage <|-- ChannelPaidPost
ChannelPaidPost <|-- ChannelPaidPostImpl
PossiblySentViaBotCommonMessage <|-- PrivateContentMessage
PrivateContentMessage <|-- PrivateContentMessageImpl
PrivateContentMessage <|-- PrivateForumContentMessage
PrivateForumContentMessage <|-- PrivateForumContentMessageImpl
PossiblySentViaBotCommonMessage <|-- PublicContentMessage
PublicContentMessage <|-- GroupContentMessage
GroupContentMessage <|-- AnonymousGroupContentMessage
AnonymousGroupContentMessage <|-- AnonymousGroupContentMessageImpl
GroupContentMessage <|-- ChannelDirectMessagesContentMessage
ChannelDirectMessagesContentMessage <|-- CommonChannelDirectMessagesContentMessage
CommonChannelDirectMessagesContentMessage <|-- CommonChannelDirectMessagesContentMessageImpl
ChannelDirectMessagesContentMessage <|-- FromChannelChannelDirectMessagesContentMessage
FromChannelChannelDirectMessagesContentMessage <|-- FromChannelChannelDirectMessagesContentMessageImpl
ChannelDirectMessagesContentMessage <|-- SuggestedChannelDirectMessagesContentMessage
SuggestedChannelDirectMessagesContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessage
CommonSuggestedChannelDirectMessagesContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessageImpl
SuggestedChannelDirectMessagesContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessage
FromChannelSuggestedChannelDirectMessagesContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessageImpl
GroupContentMessage <|-- CommonGroupContentMessage
CommonGroupContentMessage <|-- CommonGroupContentMessageImpl
GroupContentMessage <|-- ForumContentMessage
ForumContentMessage <|-- AnonymousForumContentMessage
AnonymousForumContentMessage <|-- AnonymousForumContentMessageImpl
ForumContentMessage <|-- CommonForumContentMessage
CommonForumContentMessage <|-- CommonForumContentMessageImpl
ForumContentMessage <|-- FromChannelForumContentMessage
FromChannelForumContentMessage <|-- FromChannelForumContentMessageImpl
GroupContentMessage <|-- FromChannelGroupContentMessage
FromChannelGroupContentMessage <|-- ConnectedFromChannelGroupContentMessage
ConnectedFromChannelGroupContentMessage <|-- ConnectedFromChannelGroupContentMessageImpl
FromChannelGroupContentMessage <|-- FromChannelChannelDirectMessagesContentMessage
FromChannelChannelDirectMessagesContentMessage <|-- FromChannelChannelDirectMessagesContentMessageImpl
FromChannelGroupContentMessage <|-- FromChannelForumContentMessage
FromChannelForumContentMessage <|-- FromChannelForumContentMessageImpl
FromChannelGroupContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessage
FromChannelSuggestedChannelDirectMessagesContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessageImpl
FromChannelGroupContentMessage <|-- UnconnectedFromChannelGroupContentMessage
UnconnectedFromChannelGroupContentMessage <|-- UnconnectedFromChannelGroupContentMessageImpl
GroupContentMessage <|-- PotentiallyFromUserGroupContentMessage
PotentiallyFromUserGroupContentMessage <|-- CommonChannelDirectMessagesContentMessage
CommonChannelDirectMessagesContentMessage <|-- CommonChannelDirectMessagesContentMessageImpl
PotentiallyFromUserGroupContentMessage <|-- CommonForumContentMessage
CommonForumContentMessage <|-- CommonForumContentMessageImpl
PotentiallyFromUserGroupContentMessage <|-- CommonGroupContentMessage
CommonGroupContentMessage <|-- CommonGroupContentMessageImpl
PotentiallyFromUserGroupContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessage
CommonSuggestedChannelDirectMessagesContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessageImpl
AccessibleMessage <|-- PossiblyPaymentMessage
AccessibleMessage <|-- PossiblyTopicMessage
PossiblyTopicMessage <|-- ForumContentMessage
ForumContentMessage <|-- AnonymousForumContentMessage
AnonymousForumContentMessage <|-- AnonymousForumContentMessageImpl
ForumContentMessage <|-- CommonForumContentMessage
CommonForumContentMessage <|-- CommonForumContentMessageImpl
ForumContentMessage <|-- FromChannelForumContentMessage
FromChannelForumContentMessage <|-- FromChannelForumContentMessageImpl
PossiblyTopicMessage <|-- PrivateForumContentMessage
PrivateForumContentMessage <|-- PrivateForumContentMessageImpl
AccessibleMessage <|-- SignedMessage
SignedMessage <|-- AnonymousForumContentMessage
AnonymousForumContentMessage <|-- AnonymousForumContentMessageImpl
SignedMessage <|-- AnonymousGroupContentMessage
AnonymousGroupContentMessage <|-- AnonymousGroupContentMessageImpl
SignedMessage <|-- ChannelContentMessage
ChannelContentMessage <|-- ChannelContentMessageImpl
ChannelContentMessage <|-- ChannelPaidPost
ChannelPaidPost <|-- ChannelPaidPostImpl
SignedMessage <|-- FromChannelGroupContentMessage
FromChannelGroupContentMessage <|-- ConnectedFromChannelGroupContentMessage
ConnectedFromChannelGroupContentMessage <|-- ConnectedFromChannelGroupContentMessageImpl
FromChannelGroupContentMessage <|-- FromChannelChannelDirectMessagesContentMessage
FromChannelChannelDirectMessagesContentMessage <|-- FromChannelChannelDirectMessagesContentMessageImpl
FromChannelGroupContentMessage <|-- FromChannelForumContentMessage
FromChannelForumContentMessage <|-- FromChannelForumContentMessageImpl
FromChannelGroupContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessage
FromChannelSuggestedChannelDirectMessagesContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessageImpl
FromChannelGroupContentMessage <|-- UnconnectedFromChannelGroupContentMessage
UnconnectedFromChannelGroupContentMessage <|-- UnconnectedFromChannelGroupContentMessageImpl
AccessibleMessage <|-- UnknownMessageType
Message <|-- InaccessibleMessage
Message <|-- PossiblyOfflineMessage
PossiblyOfflineMessage <|-- CommonMessage
CommonMessage <|-- PossiblySentViaBotCommonMessage
PossiblySentViaBotCommonMessage <|-- BusinessContentMessage
BusinessContentMessage <|-- BusinessContentMessageImpl
PossiblySentViaBotCommonMessage <|-- ChannelContentMessage
ChannelContentMessage <|-- ChannelContentMessageImpl
ChannelContentMessage <|-- ChannelPaidPost
ChannelPaidPost <|-- ChannelPaidPostImpl
PossiblySentViaBotCommonMessage <|-- PrivateContentMessage
PrivateContentMessage <|-- PrivateContentMessageImpl
PrivateContentMessage <|-- PrivateForumContentMessage
PrivateForumContentMessage <|-- PrivateForumContentMessageImpl
PossiblySentViaBotCommonMessage <|-- PublicContentMessage
PublicContentMessage <|-- GroupContentMessage
GroupContentMessage <|-- AnonymousGroupContentMessage
AnonymousGroupContentMessage <|-- AnonymousGroupContentMessageImpl
GroupContentMessage <|-- ChannelDirectMessagesContentMessage
ChannelDirectMessagesContentMessage <|-- CommonChannelDirectMessagesContentMessage
CommonChannelDirectMessagesContentMessage <|-- CommonChannelDirectMessagesContentMessageImpl
ChannelDirectMessagesContentMessage <|-- FromChannelChannelDirectMessagesContentMessage
FromChannelChannelDirectMessagesContentMessage <|-- FromChannelChannelDirectMessagesContentMessageImpl
ChannelDirectMessagesContentMessage <|-- SuggestedChannelDirectMessagesContentMessage
SuggestedChannelDirectMessagesContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessage
CommonSuggestedChannelDirectMessagesContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessageImpl
SuggestedChannelDirectMessagesContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessage
FromChannelSuggestedChannelDirectMessagesContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessageImpl
GroupContentMessage <|-- CommonGroupContentMessage
CommonGroupContentMessage <|-- CommonGroupContentMessageImpl
GroupContentMessage <|-- ForumContentMessage
ForumContentMessage <|-- AnonymousForumContentMessage
AnonymousForumContentMessage <|-- AnonymousForumContentMessageImpl
ForumContentMessage <|-- CommonForumContentMessage
CommonForumContentMessage <|-- CommonForumContentMessageImpl
ForumContentMessage <|-- FromChannelForumContentMessage
FromChannelForumContentMessage <|-- FromChannelForumContentMessageImpl
GroupContentMessage <|-- FromChannelGroupContentMessage
FromChannelGroupContentMessage <|-- ConnectedFromChannelGroupContentMessage
ConnectedFromChannelGroupContentMessage <|-- ConnectedFromChannelGroupContentMessageImpl
FromChannelGroupContentMessage <|-- FromChannelChannelDirectMessagesContentMessage
FromChannelChannelDirectMessagesContentMessage <|-- FromChannelChannelDirectMessagesContentMessageImpl
FromChannelGroupContentMessage <|-- FromChannelForumContentMessage
FromChannelForumContentMessage <|-- FromChannelForumContentMessageImpl
FromChannelGroupContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessage
FromChannelSuggestedChannelDirectMessagesContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessageImpl
FromChannelGroupContentMessage <|-- UnconnectedFromChannelGroupContentMessage
UnconnectedFromChannelGroupContentMessage <|-- UnconnectedFromChannelGroupContentMessageImpl
GroupContentMessage <|-- PotentiallyFromUserGroupContentMessage
PotentiallyFromUserGroupContentMessage <|-- CommonChannelDirectMessagesContentMessage
CommonChannelDirectMessagesContentMessage <|-- CommonChannelDirectMessagesContentMessageImpl
PotentiallyFromUserGroupContentMessage <|-- CommonForumContentMessage
CommonForumContentMessage <|-- CommonForumContentMessageImpl
PotentiallyFromUserGroupContentMessage <|-- CommonGroupContentMessage
CommonGroupContentMessage <|-- CommonGroupContentMessageImpl
PotentiallyFromUserGroupContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessage
CommonSuggestedChannelDirectMessagesContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessageImpl
PossiblyOfflineMessage <|-- PrivateContentMessage
PrivateContentMessage <|-- PrivateContentMessageImpl
PrivateContentMessage <|-- PrivateForumContentMessage
PrivateForumContentMessage <|-- PrivateForumContentMessageImpl
Message <|-- PossiblyPaidMessage
PossiblyPaidMessage <|-- CommonMessage
CommonMessage <|-- PossiblySentViaBotCommonMessage
PossiblySentViaBotCommonMessage <|-- BusinessContentMessage
BusinessContentMessage <|-- BusinessContentMessageImpl
PossiblySentViaBotCommonMessage <|-- ChannelContentMessage
ChannelContentMessage <|-- ChannelContentMessageImpl
ChannelContentMessage <|-- ChannelPaidPost
ChannelPaidPost <|-- ChannelPaidPostImpl
PossiblySentViaBotCommonMessage <|-- PrivateContentMessage
PrivateContentMessage <|-- PrivateContentMessageImpl
PrivateContentMessage <|-- PrivateForumContentMessage
PrivateForumContentMessage <|-- PrivateForumContentMessageImpl
PossiblySentViaBotCommonMessage <|-- PublicContentMessage
PublicContentMessage <|-- GroupContentMessage
GroupContentMessage <|-- AnonymousGroupContentMessage
AnonymousGroupContentMessage <|-- AnonymousGroupContentMessageImpl
GroupContentMessage <|-- ChannelDirectMessagesContentMessage
ChannelDirectMessagesContentMessage <|-- CommonChannelDirectMessagesContentMessage
CommonChannelDirectMessagesContentMessage <|-- CommonChannelDirectMessagesContentMessageImpl
ChannelDirectMessagesContentMessage <|-- FromChannelChannelDirectMessagesContentMessage
FromChannelChannelDirectMessagesContentMessage <|-- FromChannelChannelDirectMessagesContentMessageImpl
ChannelDirectMessagesContentMessage <|-- SuggestedChannelDirectMessagesContentMessage
SuggestedChannelDirectMessagesContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessage
CommonSuggestedChannelDirectMessagesContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessageImpl
SuggestedChannelDirectMessagesContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessage
FromChannelSuggestedChannelDirectMessagesContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessageImpl
GroupContentMessage <|-- CommonGroupContentMessage
CommonGroupContentMessage <|-- CommonGroupContentMessageImpl
GroupContentMessage <|-- ForumContentMessage
ForumContentMessage <|-- AnonymousForumContentMessage
AnonymousForumContentMessage <|-- AnonymousForumContentMessageImpl
ForumContentMessage <|-- CommonForumContentMessage
CommonForumContentMessage <|-- CommonForumContentMessageImpl
ForumContentMessage <|-- FromChannelForumContentMessage
FromChannelForumContentMessage <|-- FromChannelForumContentMessageImpl
GroupContentMessage <|-- FromChannelGroupContentMessage
FromChannelGroupContentMessage <|-- ConnectedFromChannelGroupContentMessage
ConnectedFromChannelGroupContentMessage <|-- ConnectedFromChannelGroupContentMessageImpl
FromChannelGroupContentMessage <|-- FromChannelChannelDirectMessagesContentMessage
FromChannelChannelDirectMessagesContentMessage <|-- FromChannelChannelDirectMessagesContentMessageImpl
FromChannelGroupContentMessage <|-- FromChannelForumContentMessage
FromChannelForumContentMessage <|-- FromChannelForumContentMessageImpl
FromChannelGroupContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessage
FromChannelSuggestedChannelDirectMessagesContentMessage <|-- FromChannelSuggestedChannelDirectMessagesContentMessageImpl
FromChannelGroupContentMessage <|-- UnconnectedFromChannelGroupContentMessage
UnconnectedFromChannelGroupContentMessage <|-- UnconnectedFromChannelGroupContentMessageImpl
GroupContentMessage <|-- PotentiallyFromUserGroupContentMessage
PotentiallyFromUserGroupContentMessage <|-- CommonChannelDirectMessagesContentMessage
CommonChannelDirectMessagesContentMessage <|-- CommonChannelDirectMessagesContentMessageImpl
PotentiallyFromUserGroupContentMessage <|-- CommonForumContentMessage
CommonForumContentMessage <|-- CommonForumContentMessageImpl
PotentiallyFromUserGroupContentMessage <|-- CommonGroupContentMessage
CommonGroupContentMessage <|-- CommonGroupContentMessageImpl
PotentiallyFromUserGroupContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessage
CommonSuggestedChannelDirectMessagesContentMessage <|-- CommonSuggestedChannelDirectMessagesContentMessageImpl
Message <|-- PossiblyWithEffectMessage
PossiblyWithEffectMessage <|-- PrivateContentMessage
PrivateContentMessage <|-- PrivateContentMessageImpl
PrivateContentMessage <|-- PrivateForumContentMessage
PrivateForumContentMessage <|-- PrivateForumContentMessageImpl
As you may see, it is a little bit complex and require several tools for types conversation.
As
as conversations will return new type in case if it is possible. For example, when you got Message, you may use asContentMessage conversation to get message with content:
val message : Message ;
println ( message . asContentMessage () ?. content )
This code will print null in case when message is not ContentMessage, and content when is.
Require
require works like as, but instead of returning nullable type, it will always return object with required type OR throw ClassCastException:
val message : Message ;
println ( message . requireContentMessage (). content )
This code will throw exception when message is not ContentMessage and print content when is.
When
when extensions will call passed block when type is correct. For example:
val message : Message ;
message . whenContentMessage {
println ( it . content )
}
Code placed above will print content when message is ContentMessage and do nothing when not