t() :: %Telegex.Model.Message{
animation: Telegex.Model.Animation.t() | nil,
audio: Telegex.Model.Audio.t() | nil,
author_signature: String.t() | nil,
caption: String.t() | nil,
caption_entities: [Telegex.Model.MessageEntity.t()] | nil,
channel_chat_created: boolean() | nil,
chat: Telegex.Model.Chat.t(),
connected_website: String.t() | nil,
contact: Telegex.Model.Contact.t() | nil,
date: integer(),
delete_chat_photo: boolean() | nil,
dice: Telegex.Model.Dice.t() | nil,
document: Telegex.Model.Document.t() | nil,
edit_date: integer() | nil,
entities: [Telegex.Model.MessageEntity.t()] | nil,
forward_date: integer() | nil,
forward_from: Telegex.Model.User.t() | nil,
forward_from_chat: Telegex.Model.Chat.t() | nil,
forward_from_message_id: integer() | nil,
forward_sender_name: String.t() | nil,
forward_signature: String.t() | nil,
from: Telegex.Model.User.t(),
game: Telegex.Model.Game.t() | nil,
group_chat_created: boolean() | nil,
invoice: Telegex.Model.Invoice.t() | nil,
left_chat_member: Telegex.Model.User.t() | nil,
location: Telegex.Model.Location.t() | nil,
media_group_id: String.t() | nil,
message_id: integer(),
migrate_from_chat_id: integer() | nil,
migrate_to_chat_id: integer() | nil,
new_chat_members: [Telegex.Model.User.t()] | nil,
new_chat_photo: [Telegex.Model.PhotoSize.t()] | nil,
new_chat_title: String.t() | nil,
passport_data: Telegex.Model.PassportData.t() | nil,
photo: [Telegex.Model.PhotoSize.t()] | nil,
pinned_message: t() | nil,
poll: Telegex.Model.Poll.t() | nil,
reply_markup: Telegex.Model.InlineKeyboardMarkup.t() | nil,
reply_to_message: t() | nil,
sticker: Telegex.Model.Sticker.t() | nil,
successful_payment: Telegex.Model.SuccessfulPayment.t() | nil,
supergroup_chat_created: boolean() | nil,
text: String.t() | nil,
venue: Telegex.Model.Venue.t() | nil,
via_bot: Telegex.Model.User.t() | nil,
video: Telegex.Model.Video.t() | nil,
video_note: Telegex.Model.VideoNote.t() | nil,
voice: Telegex.Model.Voice.t() | nil
}