CallbackQuery¶
- class aiogram.types.callback_query.CallbackQuery(*, id: str, from_user: User, chat_instance: str, message: Message | InaccessibleMessage | None = None, inline_message_id: str | None = None, data: str | None = None, game_short_name: str | None = None, **extra_data: Any)[source]¶
This object represents an incoming callback query from a callback button in an inline keyboard. If the button that originated the query was attached to a message sent by the bot, the field message will be present. If the button was attached to a message sent via the bot (in inline mode), the field inline_message_id will be present. Exactly one of the fields data or game_short_name will be present.
NOTE: After the user presses a callback button, Telegram clients will display a progress bar until you call
aiogram.methods.answer_callback_query.AnswerCallbackQuery
. It is, therefore, necessary to react by callingaiogram.methods.answer_callback_query.AnswerCallbackQuery
even if no notification to the user is needed (e.g., without specifying any of the optional parameters).Source: https://core.telegram.org/bots/api#callbackquery
- id: str¶
Unique identifier for this query
- chat_instance: str¶
Global identifier, uniquely corresponding to the chat to which the message with the callback button was sent. Useful for high scores in
aiogram.methods.games.Games
.
- message: Message | InaccessibleMessage | None¶
Optional. Message sent by the bot with the callback button that originated the query
- model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_post_init(context: Any, /) None ¶
We need to both initialize private attributes and call the user-defined model_post_init method.
- inline_message_id: str | None¶
Optional. Identifier of the message sent via the bot in inline mode, that originated the query.
- data: str | None¶
Optional. Data associated with the callback button. Be aware that the message originated the query can contain no callback buttons with this data.
- game_short_name: str | None¶
Optional. Short name of a Game to be returned, serves as the unique identifier for the game
- answer(text: str | None = None, show_alert: bool | None = None, url: str | None = None, cache_time: int | None = None, **kwargs: Any) AnswerCallbackQuery [source]¶
Shortcut for method
aiogram.methods.answer_callback_query.AnswerCallbackQuery
will automatically fill method attributes:callback_query_id
Use this method to send answers to callback queries sent from inline keyboards. The answer will be displayed to the user as a notification at the top of the chat screen or as an alert. On success,
True
is returned.Alternatively, the user can be redirected to the specified Game URL. For this option to work, you must first create a game for your bot via @BotFather and accept the terms. Otherwise, you may use links like
t.me/your_bot?start=XXXX
that open your bot with a parameter.Source: https://core.telegram.org/bots/api#answercallbackquery
- Parameters:
text – Text of the notification. If not specified, nothing will be shown to the user, 0-200 characters
show_alert – If
True
, an alert will be shown by the client instead of a notification at the top of the chat screen. Defaults to false.url –
URL that will be opened by the user’s client. If you have created a
aiogram.types.game.Game
and accepted the conditions via @BotFather, specify the URL that opens your game - note that this will only work if the query comes from a https://core.telegram.org/bots/api#inlinekeyboardbutton callback_game button.cache_time – The maximum amount of time in seconds that the result of the callback query may be cached client-side. Telegram apps will support caching starting in version 3.14. Defaults to 0.
- Returns:
instance of method
aiogram.methods.answer_callback_query.AnswerCallbackQuery