InlineQueryResultCachedGif
extends InlineQueryResult
in package
Represents a link to an animated GIF file stored on the Telegram servers. By default, this animated GIF file will be sent by the user with an optional caption. Alternatively, you can use input_message_content to send a message with specified content instead of the animation.
Source: https://core.telegram.org/bots/api#inlinequeryresultcachedgif
Table of Contents
Properties
- $bot : Bot|null
- $caption : string|null
- $captionEntities : array<string|int, mixed>|null
- $gifFileId : string
- $id : string
- $inputMessageContent : InputMessageContent|null
- $parseMode : BotDefault|string|null
- $replyMarkup : InlineKeyboardMarkup|null
- $showCaptionAboveMedia : bool|BotDefault|null
- $title : string|null
- $type : string
Methods
- __construct() : mixed
- as_() : static
- Alias of withBot() for grep-translating aiogram code that uses obj.as_(bot).
- withBot() : static
- Returns a clone of $this with $bot rebound recursively. Walks every public property; nested `BotContextController` instances are rebound via their own `withBot`, arrays (including nested arrays of arbitrary depth — e.g.
Properties
$bot read-only
public
Bot|null
$bot
= null
$caption read-only
public
string|null
$caption
= null
$captionEntities read-only
public
array<string|int, mixed>|null
$captionEntities
= null
$gifFileId read-only
public
string
$gifFileId
$id read-only
public
string
$id
$inputMessageContent read-only
public
InputMessageContent|null
$inputMessageContent
= null
$parseMode read-only
public
BotDefault|string|null
$parseMode
= new BotDefault('parse_mode')
$replyMarkup read-only
public
InlineKeyboardMarkup|null
$replyMarkup
= null
$showCaptionAboveMedia read-only
public
bool|BotDefault|null
$showCaptionAboveMedia
= new BotDefault('show_caption_above_media')
$title read-only
public
string|null
$title
= null
$type read-only
public
string
$type
= 'gif'
Methods
__construct()
public
__construct(string $id, string $gifFileId[, string $type = 'gif' ][, string|null $title = null ][, string|null $caption = null ][, BotDefault|string|null $parseMode = new BotDefault('parse_mode') ][, null|array<int, MessageEntity> $captionEntities = null ][, bool|BotDefault|null $showCaptionAboveMedia = new BotDefault('show_caption_above_media') ][, InlineKeyboardMarkup|null $replyMarkup = null ][, InputMessageContent|null $inputMessageContent = null ][, Bot|null $bot = null ]) : mixed
Parameters
- $id : string
- $gifFileId : string
- $type : string = 'gif'
- $title : string|null = null
- $caption : string|null = null
- $parseMode : BotDefault|string|null = new BotDefault('parse_mode')
- $captionEntities : null|array<int, MessageEntity> = null
- $showCaptionAboveMedia : bool|BotDefault|null = new BotDefault('show_caption_above_media')
- $replyMarkup : InlineKeyboardMarkup|null = null
- $inputMessageContent : InputMessageContent|null = null
- $bot : Bot|null = null
as_()
Alias of withBot() for grep-translating aiogram code that uses obj.as_(bot).
public
as_(Bot|null $bot) : static
IMPORTANT: behaves DIFFERENTLY from upstream — upstream mutates self.bot in place and returns self. The PHP port can't mutate readonly, so this returns a clone. Callers must reassign: $msg = $msg->as($bot).
Parameters
- $bot : Bot|null
Return values
staticwithBot()
Returns a clone of $this with $bot rebound recursively. Walks every public property; nested `BotContextController` instances are rebound via their own `withBot`, arrays (including nested arrays of arbitrary depth — e.g.
public
withBot(Bot|null $bot) : static
list<list<KeyboardButton>>) are walked element-wise. Plain values
(scalars, DateTime, enums, InputFile etc.) pass through untouched.
Mirrors upstream pydantic model_validate(context={"bot": bot}) (aiogram
ContextController.as_/model_dump_json+model_validate).
Scope note: PHP 8.5 treats public readonly as effectively
public protected(set) readonly for clone-with — only code running with
a scope in the property's declaring class hierarchy (declaring class plus
its ancestors and descendants) can use clone($obj, ['x' => ...]) against
it. Because this method lives on BotContextController and every
TelegramObject/TelegramMethod subclass extends it, the walker's
clone($this, [...]) call legally rewrites subclass-declared readonly
slots like Message::$chat. External callers cannot use the same syntax
— they must funnel through this method.
Parameters
- $bot : Bot|null