Update

class aiogram.types.update.Update(*, update_id: int, message: Message | None = None, edited_message: Message | None = None, channel_post: Message | None = None, edited_channel_post: Message | None = None, business_connection: BusinessConnection | None = None, business_message: Message | None = None, edited_business_message: Message | None = None, deleted_business_messages: BusinessMessagesDeleted | None = None, message_reaction: MessageReactionUpdated | None = None, message_reaction_count: MessageReactionCountUpdated | None = None, inline_query: InlineQuery | None = None, chosen_inline_result: ChosenInlineResult | None = None, callback_query: CallbackQuery | None = None, shipping_query: ShippingQuery | None = None, pre_checkout_query: PreCheckoutQuery | None = None, purchased_paid_media: PaidMediaPurchased | None = None, poll: Poll | None = None, poll_answer: PollAnswer | None = None, my_chat_member: ChatMemberUpdated | None = None, chat_member: ChatMemberUpdated | None = None, chat_join_request: ChatJoinRequest | None = None, chat_boost: ChatBoostUpdated | None = None, removed_chat_boost: ChatBoostRemoved | None = None, **extra_data: Any)[source]

This object represents an incoming update.

At most one of the optional parameters can be present in any given update.

Source: https://core.telegram.org/bots/api#update

update_id: int

The update’s unique identifier. Update identifiers start from a certain positive number and increase sequentially. This identifier becomes especially handy if you’re using webhooks, since it allows you to ignore repeated updates or to restore the correct update sequence, should they get out of order. If there are no new updates for at least a week, then identifier of the next update will be chosen randomly instead of sequentially.

message: Message | None

Optional. New incoming message of any kind - text, photo, sticker, etc.

edited_message: Message | None

Optional. New version of a message that is known to the bot and was edited. This update may at times be triggered by changes to message fields that are either unavailable or not actively used by your bot.

channel_post: Message | None

Optional. New incoming channel post of any kind - text, photo, sticker, etc.

edited_channel_post: Message | None

Optional. New version of a channel post that is known to the bot and was edited. This update may at times be triggered by changes to message fields that are either unavailable or not actively used by your bot.

business_connection: BusinessConnection | None

Optional. The bot was connected to or disconnected from a business account, or a user edited an existing connection with the bot

business_message: Message | None

Optional. New message from a connected business account

edited_business_message: Message | None

Optional. New version of a message from a connected business account

deleted_business_messages: BusinessMessagesDeleted | None

Optional. Messages were deleted from a connected business account

message_reaction: MessageReactionUpdated | None

Optional. A reaction to a message was changed by a user. The bot must be an administrator in the chat and must explicitly specify "message_reaction" in the list of allowed_updates to receive these updates. The update isn’t received for reactions set by bots.

message_reaction_count: MessageReactionCountUpdated | None

Optional. Reactions to a message with anonymous reactions were changed. The bot must be an administrator in the chat and must explicitly specify "message_reaction_count" in the list of allowed_updates to receive these updates. The updates are grouped and can be sent with delay up to a few minutes.

inline_query: InlineQuery | None

Optional. New incoming inline query

chosen_inline_result: ChosenInlineResult | None

Optional. The result of an inline query that was chosen by a user and sent to their chat partner. Please see our documentation on the feedback collecting for details on how to enable these updates for your bot.

callback_query: CallbackQuery | None

Optional. New incoming callback query

model_post_init(context: Any, /) None

We need to both initialize private attributes and call the user-defined model_post_init method.

shipping_query: ShippingQuery | None

Optional. New incoming shipping query. Only for invoices with flexible price

pre_checkout_query: PreCheckoutQuery | None

Optional. New incoming pre-checkout query. Contains full information about checkout

purchased_paid_media: PaidMediaPurchased | None

Optional. A user purchased paid media with a non-empty payload sent by the bot in a non-channel chat

poll: Poll | None

Optional. New poll state. Bots receive only updates about manually stopped polls and polls, which are sent by the bot

poll_answer: PollAnswer | None

Optional. A user changed their answer in a non-anonymous poll. Bots receive new votes only in polls that were sent by the bot itself.

my_chat_member: ChatMemberUpdated | None

Optional. The bot’s chat member status was updated in a chat. For private chats, this update is received only when the bot is blocked or unblocked by the user.

chat_member: ChatMemberUpdated | None

Optional. A chat member’s status was updated in a chat. The bot must be an administrator in the chat and must explicitly specify "chat_member" in the list of allowed_updates to receive these updates.

chat_join_request: ChatJoinRequest | None

Optional. A request to join the chat has been sent. The bot must have the can_invite_users administrator right in the chat to receive these updates.

chat_boost: ChatBoostUpdated | None

Optional. A chat boost was added or changed. The bot must be an administrator in the chat to receive these updates.

removed_chat_boost: ChatBoostRemoved | None

Optional. A boost was removed from a chat. The bot must be an administrator in the chat to receive these updates.

property event_type: str

Detect update type If update type is unknown, raise UpdateTypeLookupError

Returns:

property event: TelegramObject
exception aiogram.types.update.UpdateTypeLookupError[source]

Update does not contain any known event type.