TelegramPHP Documentation

RichBlock extends Part
in package

AbstractYes

This file is generated from spec/openapi.json (Bot API 10.3) by tools/generate.php.

Do not edit it by hand - run composer spec:build instead.

This object represents a block in a rich formatted message. Currently, it can be any of the following types:

  • RichBlockParagraph
  • RichBlockSectionHeading
  • RichBlockPreformatted
  • RichBlockFooter
  • RichBlockDivider
  • RichBlockMathematicalExpression
  • RichBlockAnchor
  • RichBlockList
  • RichBlockBlockQuotation
  • RichBlockExpandableBlockQuotation
  • RichBlockPullQuotation
  • RichBlockCollage
  • RichBlockSlideshow
  • RichBlockTable
  • RichBlockDetails
  • RichBlockMap
  • RichBlockButtons
  • RichBlockAnimation
  • RichBlockAudio
  • RichBlockDocument
  • RichBlockPhoto
  • RichBlockVideo
  • RichBlockVoiceNote
  • RichBlockThinking

One of: RichBlockParagraph, RichBlockSectionHeading, RichBlockPreformatted, RichBlockFooter, RichBlockDivider, RichBlockMathematicalExpression, RichBlockAnchor, RichBlockList, RichBlockBlockQuotation, RichBlockExpandableBlockQuotation, RichBlockPullQuotation, RichBlockCollage, RichBlockSlideshow, RichBlockTable, RichBlockDetails, RichBlockMap, RichBlockButtons, RichBlockAnimation, RichBlockAudio, RichBlockDocument, RichBlockPhoto, RichBlockVideo, RichBlockVoiceNote, RichBlockThinking.

Tags
link
https://core.telegram.org/bots/api#richblock
since

v10.3

Table of Contents

Constants

DISCRIMINATOR  : mixed = 'type'
The attribute whose value names the concrete subtype.
SUBTYPES  : array<string, Part>>|array<int, Part>> = ['paragraph' => \Telegram\Parts\RichBlockParagr...
The concrete classes a union parent may resolve to - keyed by discriminator value when there is one, a plain list otherwise. Empty on ordinary parts.

Properties

$casts  : array<string, string>
Attribute name => Telegram type token ("User", "Array of PhotoSize"), used to hydrate nested objects into parts.
$dates  : array<int, string>
Attribute names holding Unix timestamps, read back as {@see CarbonImmutable}.
$fillable  : array<int, string>
Attribute names this part accepts. Empty = accept anything.
$telegram  : Telegram

Methods

__construct()  : mixed
__debugInfo()  : array<string, mixed>
__get()  : mixed
__isset()  : bool
__set()  : void
__toString()  : string
attributeExists()  : bool
fill()  : void
getAttribute()  : mixed
getCasts()  : array<string, string>
getFillable()  : array<int, string>
getRawAttributes()  : array<string, mixed>
getTelegram()  : Telegram
jsonSerialize()  : array<string, mixed>
The payload this part would be sent back to Telegram as - nested parts and collections flattened, timestamps left as the integers they arrived as.
offsetExists()  : bool
offsetGet()  : mixed
offsetSet()  : void
offsetUnset()  : void
resolveSubtype()  : Part>
The concrete class an incoming payload belongs to, for a union parent.
setAttribute()  : void
factory()  : Factory
Builds another part from the same client - for nested objects.
getRawAttribute()  : mixed
Reads straight from the attribute bag, skipping the `get{Key}Attribute` hook.
setRawAttribute()  : void
Writes straight to the attribute bag, skipping the `set{Key}Attribute` hook and any cast. For use *inside* a mutator, which would otherwise have no way to store its shaped value without recursing through {@see setAttribute()}.

Constants

DISCRIMINATOR

The attribute whose value names the concrete subtype.

public mixed DISCRIMINATOR = 'type'

SUBTYPES

The concrete classes a union parent may resolve to - keyed by discriminator value when there is one, a plain list otherwise. Empty on ordinary parts.

public array<string, Part>>|array<int, Part>> SUBTYPES = ['paragraph' => \Telegram\Parts\RichBlockParagraph::class, 'heading' => \Telegram\Parts\RichBlockSectionHeading::class, 'pre' => \Telegram\Parts\RichBlockPreformatted::class, 'footer' => \Telegram\Parts\RichBlockFooter::class, 'divider' => \Telegram\Parts\RichBlockDivider::class, 'mathematical_expression' => \Telegram\Parts\RichBlockMathematicalExpression::class, 'anchor' => \Telegram\Parts\RichBlockAnchor::class, 'list' => \Telegram\Parts\RichBlockList::class, 'blockquote' => \Telegram\Parts\RichBlockBlockQuotation::class, 'expandable_blockquote' => \Telegram\Parts\RichBlockExpandableBlockQuotation::class, 'pullquote' => \Telegram\Parts\RichBlockPullQuotation::class, 'collage' => \Telegram\Parts\RichBlockCollage::class, 'slideshow' => \Telegram\Parts\RichBlockSlideshow::class, 'table' => \Telegram\Parts\RichBlockTable::class, 'details' => \Telegram\Parts\RichBlockDetails::class, 'map' => \Telegram\Parts\RichBlockMap::class, 'buttons' => \Telegram\Parts\RichBlockButtons::class, 'animation' => \Telegram\Parts\RichBlockAnimation::class, 'audio' => \Telegram\Parts\RichBlockAudio::class, 'document' => \Telegram\Parts\RichBlockDocument::class, 'photo' => \Telegram\Parts\RichBlockPhoto::class, 'video' => \Telegram\Parts\RichBlockVideo::class, 'voice_note' => \Telegram\Parts\RichBlockVoiceNote::class, 'thinking' => \Telegram\Parts\RichBlockThinking::class]

Properties

$casts

Attribute name => Telegram type token ("User", "Array of PhotoSize"), used to hydrate nested objects into parts.

protected array<string, string> $casts = []

$dates

Attribute names holding Unix timestamps, read back as {@see CarbonImmutable}.

protected array<int, string> $dates = []

$fillable

Attribute names this part accepts. Empty = accept anything.

protected array<int, string> $fillable = []

Methods

__construct()

public __construct(Telegram $telegram[, array<string, mixed>|object $attributes = [] ]) : mixed
Parameters
$telegram : Telegram
$attributes : array<string, mixed>|object = []

__debugInfo()

public __debugInfo() : array<string, mixed>
Return values
array<string, mixed>

__get()

public __get(string $name) : mixed
Parameters
$name : string

__isset()

public __isset(string $name) : bool
Parameters
$name : string
Return values
bool

__set()

public __set(string $name, mixed $value) : void
Parameters
$name : string
$value : mixed

__toString()

public __toString() : string
Return values
string

attributeExists()

public attributeExists(string $key) : bool
Parameters
$key : string
Return values
bool

fill()

public fill(array<string, mixed> $attributes) : void
Parameters
$attributes : array<string, mixed>

getAttribute()

public getAttribute(string $key) : mixed
Parameters
$key : string

getCasts()

public getCasts() : array<string, string>
Return values
array<string, string>

getFillable()

public getFillable() : array<int, string>
Return values
array<int, string>

getRawAttributes()

public getRawAttributes() : array<string, mixed>
Return values
array<string, mixed>

jsonSerialize()

The payload this part would be sent back to Telegram as - nested parts and collections flattened, timestamps left as the integers they arrived as.

public jsonSerialize() : array<string, mixed>
Return values
array<string, mixed>

offsetExists()

public offsetExists(mixed $offset) : bool
Parameters
$offset : mixed
Return values
bool

offsetGet()

public offsetGet(mixed $offset) : mixed
Parameters
$offset : mixed

offsetSet()

public offsetSet(mixed $offset, mixed $value) : void
Parameters
$offset : mixed
$value : mixed

offsetUnset()

public offsetUnset(mixed $offset) : void
Parameters
$offset : mixed

resolveSubtype()

The concrete class an incoming payload belongs to, for a union parent.

public static resolveSubtype(array<string, mixed> $attributes) : Part>

Tagged unions resolve on their discriminator. The handful Telegram leaves untagged (InputMessageContent, and the rest), and any payload whose tag this build does not recognise - a member added to the Bot API since it was generated - resolve instead to the subtype whose attributes the payload matches most closely.

Parameters
$attributes : array<string, mixed>
Tags
throws
PartException

When the part is not a union, or nothing matches.

Return values
Part>

setAttribute()

public setAttribute(string $key, mixed $value) : void
Parameters
$key : string
$value : mixed

factory()

Builds another part from the same client - for nested objects.

protected factory() : Factory
Return values
Factory

getRawAttribute()

Reads straight from the attribute bag, skipping the `get{Key}Attribute` hook.

protected getRawAttribute(string $key) : mixed
Parameters
$key : string

setRawAttribute()

Writes straight to the attribute bag, skipping the `set{Key}Attribute` hook and any cast. For use *inside* a mutator, which would otherwise have no way to store its shaped value without recursing through {@see setAttribute()}.

protected setRawAttribute(string $key, mixed $value) : void
Parameters
$key : string
$value : mixed
On this page

Search results