Telegram · Schema

Telegram Message

Represents a message sent in a Telegram chat. Can contain text, media, files, stickers, locations, contacts, or service information.

BotsChatMessagingNotificationsPaymentsTelegram

Properties

Name Type Description
message_id integer Unique message identifier inside the chat
message_thread_id integer Unique identifier of a message thread to which the message belongs; for supergroups only
from object Sender of the message; empty for messages sent to channels
sender_chat object Sender of the message when sent on behalf of a chat
date integer Date the message was sent in Unix time
chat object Conversation the message belongs to
forward_from object For forwarded messages, sender of the original message
forward_from_chat object For messages forwarded from channels or anonymous admin messages, information about the original sender chat
forward_date integer For forwarded messages, date the original message was sent in Unix time
reply_to_message object For replies in the same chat and message thread, the original message
edit_date integer Date the message was last edited in Unix time
text string For text messages, the actual UTF-8 text of the message
entities array For text messages, special entities like usernames, URLs, bot commands etc.
caption string Caption for the animation, audio, document, photo, video or voice
caption_entities array Special entities like usernames, URLs, bot commands in the caption
new_chat_members array New members that were added to the group or supergroup
left_chat_member object A member was removed from the group
new_chat_title string A chat title was changed to this value
pinned_message object Specified message was pinned
successful_payment object Message is a service message about a successful payment
via_bot object Bot through which the message was sent
View JSON Schema on GitHub

JSON Schema

telegram-message-schema.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://core.telegram.org/schema/message",
  "title": "Telegram Message",
  "description": "Represents a message sent in a Telegram chat. Can contain text, media, files, stickers, locations, contacts, or service information.",
  "type": "object",
  "required": ["message_id", "date", "chat"],
  "properties": {
    "message_id": {
      "type": "integer",
      "description": "Unique message identifier inside the chat"
    },
    "message_thread_id": {
      "type": "integer",
      "description": "Unique identifier of a message thread to which the message belongs; for supergroups only"
    },
    "from": {
      "$ref": "#/definitions/User",
      "description": "Sender of the message; empty for messages sent to channels"
    },
    "sender_chat": {
      "$ref": "#/definitions/Chat",
      "description": "Sender of the message when sent on behalf of a chat"
    },
    "date": {
      "type": "integer",
      "description": "Date the message was sent in Unix time"
    },
    "chat": {
      "$ref": "#/definitions/Chat",
      "description": "Conversation the message belongs to"
    },
    "forward_from": {
      "$ref": "#/definitions/User",
      "description": "For forwarded messages, sender of the original message"
    },
    "forward_from_chat": {
      "$ref": "#/definitions/Chat",
      "description": "For messages forwarded from channels or anonymous admin messages, information about the original sender chat"
    },
    "forward_date": {
      "type": "integer",
      "description": "For forwarded messages, date the original message was sent in Unix time"
    },
    "reply_to_message": {
      "$ref": "#",
      "description": "For replies in the same chat and message thread, the original message"
    },
    "edit_date": {
      "type": "integer",
      "description": "Date the message was last edited in Unix time"
    },
    "text": {
      "type": "string",
      "maxLength": 4096,
      "description": "For text messages, the actual UTF-8 text of the message"
    },
    "entities": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/MessageEntity"
      },
      "description": "For text messages, special entities like usernames, URLs, bot commands etc."
    },
    "caption": {
      "type": "string",
      "maxLength": 1024,
      "description": "Caption for the animation, audio, document, photo, video or voice"
    },
    "caption_entities": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/MessageEntity"
      },
      "description": "Special entities like usernames, URLs, bot commands in the caption"
    },
    "new_chat_members": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/User"
      },
      "description": "New members that were added to the group or supergroup"
    },
    "left_chat_member": {
      "$ref": "#/definitions/User",
      "description": "A member was removed from the group"
    },
    "new_chat_title": {
      "type": "string",
      "description": "A chat title was changed to this value"
    },
    "pinned_message": {
      "$ref": "#",
      "description": "Specified message was pinned"
    },
    "successful_payment": {
      "$ref": "#/definitions/SuccessfulPayment",
      "description": "Message is a service message about a successful payment"
    },
    "via_bot": {
      "$ref": "#/definitions/User",
      "description": "Bot through which the message was sent"
    }
  },
  "definitions": {
    "User": {
      "type": "object",
      "required": ["id", "is_bot", "first_name"],
      "properties": {
        "id": {
          "type": "integer",
          "description": "Unique identifier for this user or bot"
        },
        "is_bot": {
          "type": "boolean",
          "description": "True if this user is a bot"
        },
        "first_name": {
          "type": "string",
          "description": "User's or bot's first name"
        },
        "last_name": {
          "type": "string",
          "description": "User's or bot's last name"
        },
        "username": {
          "type": "string",
          "description": "User's or bot's username"
        },
        "language_code": {
          "type": "string",
          "description": "IETF language tag of the user's language"
        },
        "is_premium": {
          "type": "boolean",
          "description": "True if this user is a Telegram Premium user"
        },
        "can_join_groups": {
          "type": "boolean",
          "description": "True if the bot can be invited to groups"
        },
        "can_read_all_group_messages": {
          "type": "boolean",
          "description": "True if privacy mode is disabled for the bot"
        },
        "supports_inline_queries": {
          "type": "boolean",
          "description": "True if the bot supports inline queries"
        }
      }
    },
    "Chat": {
      "type": "object",
      "required": ["id", "type"],
      "properties": {
        "id": {
          "type": "integer",
          "description": "Unique identifier for this chat"
        },
        "type": {
          "type": "string",
          "enum": ["private", "group", "supergroup", "channel"],
          "description": "Type of chat"
        },
        "title": {
          "type": "string",
          "description": "Title for supergroups, channels and group chats"
        },
        "username": {
          "type": "string",
          "description": "Username for private chats, supergroups and channels"
        },
        "first_name": {
          "type": "string",
          "description": "First name of the other party in a private chat"
        },
        "last_name": {
          "type": "string",
          "description": "Last name of the other party in a private chat"
        },
        "is_forum": {
          "type": "boolean",
          "description": "True if the supergroup chat is a forum"
        },
        "description": {
          "type": "string",
          "description": "Description, for groups, supergroups and channel chats"
        },
        "invite_link": {
          "type": "string",
          "description": "Primary invite link, for groups, supergroups and channels"
        },
        "member_count": {
          "type": "integer",
          "description": "Number of members in the chat"
        }
      }
    },
    "MessageEntity": {
      "type": "object",
      "required": ["type", "offset", "length"],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "mention", "hashtag", "cashtag", "bot_command", "url", "email",
            "phone_number", "bold", "italic", "underline", "strikethrough",
            "spoiler", "blockquote", "code", "pre", "text_link", "text_mention",
            "custom_emoji"
          ],
          "description": "Type of the entity"
        },
        "offset": {
          "type": "integer",
          "description": "Offset in UTF-16 code units to the start of the entity"
        },
        "length": {
          "type": "integer",
          "description": "Length of the entity in UTF-16 code units"
        },
        "url": {
          "type": "string",
          "description": "For text_link only, URL that will be opened after user taps on the text"
        },
        "user": {
          "$ref": "#/definitions/User",
          "description": "For text_mention only, the mentioned user"
        },
        "language": {
          "type": "string",
          "description": "For pre only, the programming language of the entity text"
        }
      }
    },
    "SuccessfulPayment": {
      "type": "object",
      "required": ["currency", "total_amount", "invoice_payload", "telegram_payment_charge_id", "provider_payment_charge_id"],
      "properties": {
        "currency": {
          "type": "string",
          "description": "Three-letter ISO 4217 currency code"
        },
        "total_amount": {
          "type": "integer",
          "description": "Total price in the smallest units of the currency"
        },
        "invoice_payload": {
          "type": "string",
          "description": "Bot-specified invoice payload"
        },
        "shipping_option_id": {
          "type": "string",
          "description": "Identifier of the shipping option chosen by the user"
        },
        "telegram_payment_charge_id": {
          "type": "string",
          "description": "Telegram payment identifier"
        },
        "provider_payment_charge_id": {
          "type": "string",
          "description": "Provider payment identifier"
        }
      }
    }
  }
}