AddRecentSticker::fromArray()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 1
dl 0
loc 5
rs 10
c 0
b 0
f 0
1
<?php
2
3
/**
4
 * This phpFile is auto-generated.
5
 */
6
7
declare(strict_types=1);
8
9
namespace PHPTdGram\Schema;
10
11
/**
12
 * Manually adds a new sticker to the list of recently used stickers. The new sticker is added to the top of the list. If the sticker was already in the list, it is removed from the list first. Only stickers belonging to a sticker set can be added to this list.
13
 */
14
class AddRecentSticker extends TdFunction
15
{
16
    public const TYPE_NAME = 'addRecentSticker';
17
18
    /**
19
     * Pass true to add the sticker to the list of stickers recently attached to photo or video files; pass false to add the sticker to the list of recently sent stickers.
20
     */
21
    protected bool $isAttached;
22
23
    /**
24
     * Sticker file to add.
25
     */
26
    protected InputFile $sticker;
27
28
    public function __construct(bool $isAttached, InputFile $sticker)
29
    {
30
        $this->isAttached = $isAttached;
31
        $this->sticker    = $sticker;
32
    }
33
34
    public static function fromArray(array $array): AddRecentSticker
35
    {
36
        return new static(
37
            $array['is_attached'],
38
            TdSchemaRegistry::fromArray($array['sticker']),
39
        );
40
    }
41
42
    public function typeSerialize(): array
43
    {
44
        return [
45
            '@type'       => static::TYPE_NAME,
46
            'is_attached' => $this->isAttached,
47
            'sticker'     => $this->sticker->typeSerialize(),
48
        ];
49
    }
50
51
    public function getIsAttached(): bool
52
    {
53
        return $this->isAttached;
54
    }
55
56
    public function getSticker(): InputFile
57
    {
58
        return $this->sticker;
59
    }
60
}
61