Available Types

This page is about Pyrogram Types. All types listed here are available through the pyrogram.types package. Unless required as argument to a client method, most of the types don’t need to be manually instantiated because they are only returned by other methods. You also don’t need to import them, unless you want to type-hint your variables.

from pyrogram.types import User, Message, ...

Note

Optional fields always exist inside the object, but they could be empty and contain the value of None. Empty fields aren’t shown when, for example, using print(message) and this means that hasattr(message, "photo") always returns True.

To tell whether a field is set or not, do a simple boolean check: if message.photo: ....


Users & Chats

User

A Telegram user or bot.

Chat

A chat.

ChatPreview

A chat preview.

ChatPhoto

A chat photo.

ChatMember

Contains information about one member of a chat.

ChatPermissions

A chat default permissions and a single member permissions within a chat.

ChatInviteLink

An invite link for a chat.

ChatAdminWithInviteLinks

Represents a chat administrator that has created invite links in a chat.

ChatEvent

A chat event from the recent actions log (also known as admin log).

ChatEventFilter

Set of filters used to obtain a chat event log.

ChatMemberUpdated

Represents changes in the status of a chat member.

Dialog

A user’s dialog.

Restriction

A restriction applied to bots or chats.

Messages & Media

Message

A message.

MessageEntity

One special entity in a text message.

Photo

A Photo.

Thumbnail

One size of a photo or a file/sticker thumbnail.

Audio

An audio file to be treated as music by the Telegram clients.

Document

A generic file (as opposed to photos, voice messages, audio files, …).

Animation

An animation file (GIF or H.264/MPEG-4 AVC video without sound).

Video

A video file.

Voice

A voice note.

VideoNote

A video note.

Contact

A phone contact.

Location

A point on the map.

Venue

A venue.

Sticker

A sticker.

Game

A game.

WebPage

A webpage preview

Poll

A Poll.

PollOption

Contains information about one answer option in a poll.

Dice

A dice with a random value from 1 to 6 for currently supported base emoji.

VoiceChatStarted

A service message about a voice chat started in the chat.

VoiceChatEnded

A service message about a voice chat ended in the chat.

VoiceChatMembersInvited

A service message about new members invited to a voice chat.

Bots & Keyboards

ReplyKeyboardMarkup

A custom keyboard with reply options.

KeyboardButton

One button of the reply keyboard.

ReplyKeyboardRemove

Object used to tell clients to remove a bot keyboard.

InlineKeyboardMarkup

An inline keyboard that appears right next to the message it belongs to.

InlineKeyboardButton

One button of an inline keyboard.

LoginUrl

Represents a parameter of the inline keyboard button used to automatically authorize a user.

ForceReply

Object used to force clients to show a reply interface.

CallbackQuery

An incoming callback query from a callback button in an inline keyboard.

GameHighScore

One row of the high scores table for a game.

CallbackGame

Placeholder, currently holds no information.

Input Media

InputMedia

Content of a media message to be sent.

InputMediaPhoto

A photo to be sent inside an album.

InputMediaVideo

A video to be sent inside an album.

InputMediaAudio

An audio to be sent inside an album.

InputMediaAnimation

An animation file (GIF or H.264/MPEG-4 AVC video without sound) to be sent inside an album.

InputMediaDocument

A generic file to be sent inside an album.

InputPhoneContact

A Phone Contact to be added in your Telegram address book.

Inline Mode

InlineQuery

An incoming inline query.

InlineQueryResult

One result of an inline query.

InlineQueryResultArticle

Link to an article or web page.

InlineQueryResultPhoto

Link to a photo.

InlineQueryResultAnimation

Link to an animated GIF file.

ChosenInlineResult

A result of an inline query chosen by the user and sent to their chat partner.

InputMessageContent

InputMessageContent

Content of a message to be sent as a result of an inline query.

InputTextMessageContent

Content of a text message to be sent as the result of an inline query.

Authorization

SentCode

Contains info on a sent confirmation code.

TermsOfService

Telegram’s Terms of Service returned by sign_in().