* Adds an element to the user's Telegram Passport. May return an error with a message "PHONE_VERIFICATION_NEEDED" or "EMAIL_VERIFICATION_NEEDED" if the chosen phone number or the chosen email address must be verified first.
13
*/
14
class SetPassportElement extends TdFunction
15
{
16
public const TYPE_NAME = 'setPassportElement';
17
18
/**
19
* Input Telegram Passport element.
20
*
21
* @var InputPassportElement
22
*/
23
protected InputPassportElement $element;
24
25
/**
26
* Password of the current user.
27
*
28
* @var string
29
*/
30
protected string $password;
31
32
public function __construct(InputPassportElement $element, string $password)
33
{
34
$this->element = $element;
35
$this->password = $password;
36
}
37
38
public static function fromArray(array $array): SetPassportElement
39
{
40
return new static(
41
TdSchemaRegistry::fromArray($array['element']),
42
$array['password'],
43
);
44
}
45
46
public function typeSerialize(): array
47
{
48
return [
49
'@type' => static::TYPE_NAME,
50
'element' => $this->element->typeSerialize(),
51
'password' => $this->password,
52
];
53
}
54
55
public function getElement(): InputPassportElement