Message   F
last analyzed

Complexity

Total Complexity 102

Size/Duplication

Total Lines 1197
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 154
dl 0
loc 1197
rs 2
c 1
b 0
f 0
wmc 102

102 Methods

Rating   Name   Duplication   Size   Complexity  
A setDeleteChatPhoto() 0 3 1
A setForwardFromChat() 0 3 1
A getPinnedMessage() 0 3 1
A setInvoice() 0 3 1
A setDocument() 0 3 1
A setEditDate() 0 3 1
A getNewChatTitle() 0 3 1
A getAnimation() 0 3 1
A getReplyMarkup() 0 3 1
A setVenue() 0 3 1
A getContact() 0 3 1
A setVoice() 0 3 1
A getNewChatMembers() 0 3 1
A getPhoto() 0 3 1
A getChannelChatCreated() 0 3 1
A getLeftChatMember() 0 3 1
A setPinnedMessage() 0 3 1
A setSuccessfulPayment() 0 3 1
A getSupergroupChatCreated() 0 3 1
A getVideoNote() 0 3 1
A setForwardFrom() 0 3 1
A setForwardFromMessageId() 0 3 1
A setAudio() 0 3 1
A setFrom() 0 3 1
A getDice() 0 3 1
A getVenue() 0 3 1
A getForwardSenderName() 0 3 1
A setForwardDate() 0 3 1
A getPoll() 0 3 1
A setNewChatTitle() 0 3 1
A getMediaGroupId() 0 3 1
A setVideo() 0 3 1
A getFrom() 0 3 1
A getInvoice() 0 3 1
A setPhoto() 0 3 1
A getCaptionEntities() 0 3 1
A getConnectedWebsite() 0 3 1
A setCaption() 0 3 1
A getDate() 0 3 1
A setReplyToMessage() 0 3 1
A getLocation() 0 3 1
A setContact() 0 3 1
A setSticker() 0 3 1
A setAuthorSignature() 0 3 1
A setAnimation() 0 3 1
A getAudio() 0 3 1
A getEditDate() 0 3 1
A setText() 0 3 1
A getSuccessfulPayment() 0 3 1
A setLocation() 0 3 1
A getMessageId() 0 3 1
A setProximityAlertTriggered() 0 3 1
A setChannelChatCreated() 0 3 1
A setConnectedWebsite() 0 3 1
A setMigrateToChatId() 0 3 1
A setEntities() 0 3 1
A setDate() 0 3 1
A setGroupChatCreated() 0 3 1
A getText() 0 3 1
A setForwardSenderName() 0 3 1
A setChat() 0 3 1
A setSenderChat() 0 3 1
A setGame() 0 3 1
A getDeleteChatPhoto() 0 3 1
A getMigrateToChatId() 0 3 1
A getCaption() 0 3 1
A getAuthorSignature() 0 3 1
A setMediaGroupId() 0 3 1
A getReplyToMessage() 0 3 1
A setPassportData() 0 3 1
A getPassportData() 0 3 1
A getViaBot() 0 3 1
A setMigrateFromChatId() 0 3 1
A getSenderChat() 0 3 1
A setCaptionEntities() 0 3 1
A setNewChatMembers() 0 3 1
A setPoll() 0 3 1
A setVideoNote() 0 3 1
A setMessageId() 0 3 1
A getSticker() 0 3 1
A setSupergroupChatCreated() 0 3 1
A getGame() 0 3 1
A getForwardSignature() 0 3 1
A setLeftChatMember() 0 3 1
A getNewChatPhoto() 0 3 1
A getVideo() 0 3 1
A getForwardDate() 0 3 1
A getGroupChatCreated() 0 3 1
A setForwardSignature() 0 3 1
A getProximityAlertTriggered() 0 3 1
A setNewChatPhoto() 0 3 1
A setReplyMarkup() 0 3 1
A getVoice() 0 3 1
A getChat() 0 3 1
A getEntities() 0 3 1
A getForwardFromChat() 0 3 1
A setViaBot() 0 3 1
A getMigrateFromChatId() 0 3 1
A setDice() 0 3 1
A getForwardFrom() 0 3 1
A getDocument() 0 3 1
A getForwardFromMessageId() 0 3 1

How to fix   Complexity   

Complex Class

Complex classes like Message often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes.

Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.

While breaking up the class, it is a good idea to analyze how other classes use Message, and based on these observations, apply Extract Interface, too.

1
<?php
2
3
declare(strict_types=1);
4
5
namespace Zanzara\Telegram\Type;
6
7
use Zanzara\Telegram\Type\File\Animation;
8
use Zanzara\Telegram\Type\File\Audio;
9
use Zanzara\Telegram\Type\File\Contact;
10
use Zanzara\Telegram\Type\File\Document;
11
use Zanzara\Telegram\Type\File\Location;
12
use Zanzara\Telegram\Type\File\Sticker;
13
use Zanzara\Telegram\Type\File\Venue;
14
use Zanzara\Telegram\Type\File\Video;
15
use Zanzara\Telegram\Type\File\VideoNote;
16
use Zanzara\Telegram\Type\File\Voice;
17
use Zanzara\Telegram\Type\Game\Game;
18
use Zanzara\Telegram\Type\Keyboard\InlineKeyboardMarkup;
19
use Zanzara\Telegram\Type\Miscellaneous\Dice;
20
use Zanzara\Telegram\Type\Passport\PassportData;
21
use Zanzara\Telegram\Type\Poll\Poll;
22
use Zanzara\Telegram\Type\Shipping\Invoice;
23
use Zanzara\Telegram\Type\Shipping\SuccessfulPayment;
24
25
/**
26
 * This object represents a message.
27
 *
28
 * More on https://core.telegram.org/bots/api#message
29
 */
30
class Message
31
{
32
33
    /**
34
     * Unique message identifier inside this chat
35
     *
36
     * @var int
37
     */
38
    private $message_id;
39
40
    /**
41
     * Optional. Sender, empty for messages sent to channels
42
     *
43
     * @var User|null
44
     */
45
    private $from;
46
47
    /**
48
     * Optional. Sender of the message, sent on behalf of a chat. The channel itself for channel messages. The
49
     * supergroup itself for messages from anonymous group administrators. The linked channel for messages automatically
50
     * forwarded to the discussion group
51
     *
52
     * @since zanzara 0.5.0, Telegram Bot Api 5.0
53
     *
54
     * @var Chat|null
55
     */
56
    private $sender_chat;
57
58
    /**
59
     * Date the message was sent in Unix time
60
     *
61
     * @var int
62
     */
63
    private $date;
64
65
    /**
66
     * Conversation the message belongs to
67
     *
68
     * @var Chat
69
     */
70
    private $chat;
71
72
    /**
73
     * Optional. For forwarded messages, sender of the original message
74
     *
75
     * @var User|null
76
     */
77
    private $forward_from;
78
79
    /**
80
     * Optional. For messages forwarded from channels, information about the original channel
81
     *
82
     * @var Chat|null
83
     */
84
    private $forward_from_chat;
85
86
    /**
87
     * Optional. For messages forwarded from channels, identifier of the original message in the channel
88
     *
89
     * @var int|null
90
     */
91
    private $forward_from_message_id;
92
93
    /**
94
     * Optional. For messages forwarded from channels, signature of the post author if present
95
     *
96
     * @var string|null
97
     */
98
    private $forward_signature;
99
100
    /**
101
     * Optional. Sender's name for messages forwarded from users who disallow adding a link to their account in forwarded
102
     * messages
103
     *
104
     * @var string|null
105
     */
106
    private $forward_sender_name;
107
108
    /**
109
     * Optional. For forwarded messages, date the original message was sent in Unix time
110
     *
111
     * @var int|null
112
     */
113
    private $forward_date;
114
115
    /**
116
     * Optional. For replies, the original message. Note that the Message object in this field will not contain further
117
     * reply_to_message fields even if it itself is a reply.
118
     *
119
     * @var Message|null
120
     */
121
    private $reply_to_message;
122
123
    /**
124
     * Optional. Date the message was last edited in Unix time
125
     *
126
     * @var int|null
127
     */
128
    private $edit_date;
129
130
    /**
131
     * Optional. The unique identifier of a media message group this message belongs to
132
     *
133
     * @var string|null
134
     */
135
    private $media_group_id;
136
137
    /**
138
     * Optional. Signature of the post author for messages in channels, or the custom title of an anonymous group
139
     * administrator (@since zanzara 0.5.0, Telegram Bot Api 5.0)
140
     *
141
     * @var string|null
142
     */
143
    private $author_signature;
144
145
    /**
146
     * Optional. For text messages, the actual UTF-8 text of the message, 0-4096 characters
147
     *
148
     * @var string|null
149
     */
150
    private $text;
151
152
    /**
153
     * Optional. For text messages, special entities like usernames, URLs, bot commands, etc. that appear in the text
154
     *
155
     * @var MessageEntity[]|null
156
     */
157
    private $entities;
158
159
    /**
160
     * Optional. For messages with a caption, special entities like usernames, URLs, bot commands, etc. that appear in the
161
     * caption
162
     *
163
     * @var MessageEntity[]|null
164
     */
165
    private $caption_entities;
166
167
    /**
168
     * Optional. Message is an audio file, information about the file
169
     *
170
     * @var Audio|null
171
     */
172
    private $audio;
173
174
    /**
175
     * Optional. Message is a general file, information about the file
176
     *
177
     * @var Document|null
178
     */
179
    private $document;
180
181
    /**
182
     * Optional. Message is an animation, information about the animation. For backward compatibility, when this field is
183
     * set, the document field will also be set
184
     *
185
     * @var Animation|null
186
     */
187
    private $animation;
188
189
    /**
190
     * Optional. Message is a game, information about the game. More about games >>
191
     *
192
     * @var Game|null
193
     */
194
    private $game;
195
196
    /**
197
     * Optional. Message is a photo, available sizes of the photo
198
     *
199
     * @var File\PhotoSize[]|null
200
     */
201
    private $photo;
202
203
    /**
204
     * Optional. Message is a sticker, information about the sticker
205
     *
206
     * @var Sticker|null
207
     */
208
    private $sticker;
209
210
    /**
211
     * Optional. Message is a video, information about the video
212
     *
213
     * @var Video|null
214
     */
215
    private $video;
216
217
    /**
218
     * Optional. Message is a voice message, information about the file
219
     *
220
     * @var Voice|null
221
     */
222
    private $voice;
223
224
    /**
225
     * Optional. Message is a video note, information about the video message
226
     *
227
     * @var VideoNote|null
228
     */
229
    private $video_note;
230
231
    /**
232
     * Optional. Caption for the animation, audio, document, photo, video or voice, 0-1024 characters
233
     *
234
     * @var string|null
235
     */
236
    private $caption;
237
238
    /**
239
     * Optional. Message is a shared contact, information about the contact
240
     *
241
     * @var Contact|null
242
     */
243
    private $contact;
244
245
    /**
246
     * Optional. Message is a shared location, information about the location
247
     *
248
     * @var Location|null
249
     */
250
    private $location;
251
252
    /**
253
     * Optional. Message is a venue, information about the venue
254
     *
255
     * @var Venue|null
256
     */
257
    private $venue;
258
259
    /**
260
     * Optional. Message is a native poll, information about the poll
261
     *
262
     * @var Poll|null
263
     */
264
    private $poll;
265
266
    /**
267
     * Optional. Message is a dice with random value from 1 to 6
268
     *
269
     * @var Dice|null
270
     */
271
    private $dice;
272
273
    /**
274
     * Optional. New members that were added to the group or supergroup and information about them (the bot itself may be
275
     * one of these members)
276
     *
277
     * @var User[]|null
278
     */
279
    private $new_chat_members;
280
281
    /**
282
     * Optional. A member was removed from the group, information about them (this member may be the bot itself)
283
     *
284
     * @var User|null
285
     */
286
    private $left_chat_member;
287
288
    /**
289
     * Optional. A chat title was changed to this value
290
     *
291
     * @var string|null
292
     */
293
    private $new_chat_title;
294
295
    /**
296
     * Optional. A chat photo was change to this value
297
     *
298
     * @var File\PhotoSize[]|null
299
     */
300
    private $new_chat_photo;
301
302
    /**
303
     * Optional. Service message: the chat photo was deleted
304
     *
305
     * @var bool|null
306
     */
307
    private $delete_chat_photo;
308
309
    /**
310
     * Optional. Service message: the group has been created
311
     *
312
     * @var bool|null
313
     */
314
    private $group_chat_created;
315
316
    /**
317
     * Optional. Service message: the supergroup has been created. This field can't be received in a message coming through
318
     * updates, because bot can't be a member of a supergroup when it is created. It can only be found in
319
     * reply_to_message if someone replies to a very first message in a directly created supergroup.
320
     *
321
     * @var bool|null
322
     */
323
    private $supergroup_chat_created;
324
325
    /**
326
     * Optional. Service message: the channel has been created. This field can't be received in a message coming through
327
     * updates, because bot can't be a member of a channel when it is created. It can only be found in reply_to_message
328
     * if someone replies to a very first message in a channel.
329
     *
330
     * @var bool|null
331
     */
332
    private $channel_chat_created;
333
334
    /**
335
     * Optional. The group has been migrated to a supergroup with the specified identifier. This number may be greater than
336
     * 32 bits and some programming languages may have difficulty/silent defects in interpreting it. But it is smaller
337
     * than 52 bits, so a signed 64 bit integer or double-precision float type are safe for storing this identifier.
338
     *
339
     * @var int|null
340
     */
341
    private $migrate_to_chat_id;
342
343
    /**
344
     * Optional. The supergroup has been migrated from a group with the specified identifier. This number may be greater
345
     * than 32 bits and some programming languages may have difficulty/silent defects in interpreting it. But it is
346
     * smaller than 52 bits, so a signed 64 bit integer or double-precision float type are safe for storing this
347
     * identifier.
348
     *
349
     * @var int|null
350
     */
351
    private $migrate_from_chat_id;
352
353
    /**
354
     * Optional. Specified message was pinned. Note that the Message object in this field will not contain further
355
     * reply_to_message fields even if it is itself a reply.
356
     *
357
     * @var Message|null
358
     */
359
    private $pinned_message;
360
361
    /**
362
     * Optional. Message is an invoice for a payment, information about the invoice. More about payments >>
363
     *
364
     * @var Invoice|null
365
     */
366
    private $invoice;
367
368
    /**
369
     * Optional. Message is a service message about a successful payment, information about the payment. More about payments >>
370
     *
371
     * @var SuccessfulPayment|null
372
     */
373
    private $successful_payment;
374
375
    /**
376
     * Optional. The domain name of the website on which the user has logged in. More about Telegram Login >>
377
     *
378
     * @var string|null
379
     */
380
    private $connected_website;
381
382
    /**
383
     * Optional. Telegram Passport data
384
     *
385
     * @var PassportData|null
386
     */
387
    private $passport_data;
388
389
    /**
390
     * Optional. Service message. A user in the chat triggered another user's proximity alert while sharing Live
391
     * Location.
392
     *
393
     * @since zanzara 0.5.0, Telegram Bot Api 5.0
394
     *
395
     * @var ProximityAlertTriggered|null
396
     */
397
    private $proximity_alert_triggered;
398
399
    /**
400
     * Optional. Inline keyboard attached to the message. login_url buttons are represented as ordinary url buttons.
401
     *
402
     * @var InlineKeyboardMarkup|null
403
     */
404
    private $reply_markup;
405
406
    /**
407
     * Optional. Bot through which the message was sent.
408
     *
409
     * @var User|null
410
     */
411
    private $via_bot;
412
413
    /**
414
     * @return int
415
     */
416
    public function getMessageId(): int
417
    {
418
        return $this->message_id;
419
    }
420
421
    /**
422
     * @param int $message_id
423
     */
424
    public function setMessageId(int $message_id): void
425
    {
426
        $this->message_id = $message_id;
427
    }
428
429
    /**
430
     * @return User|null
431
     */
432
    public function getFrom(): ?User
433
    {
434
        return $this->from;
435
    }
436
437
    /**
438
     * @param User|null $from
439
     */
440
    public function setFrom(?User $from): void
441
    {
442
        $this->from = $from;
443
    }
444
445
    /**
446
     * @return int
447
     */
448
    public function getDate(): int
449
    {
450
        return $this->date;
451
    }
452
453
    /**
454
     * @param int $date
455
     */
456
    public function setDate(int $date): void
457
    {
458
        $this->date = $date;
459
    }
460
461
    /**
462
     * @return Chat
463
     */
464
    public function getChat(): Chat
465
    {
466
        return $this->chat;
467
    }
468
469
    /**
470
     * @param Chat $chat
471
     */
472
    public function setChat(Chat $chat): void
473
    {
474
        $this->chat = $chat;
475
    }
476
477
    /**
478
     * @return User|null
479
     */
480
    public function getForwardFrom(): ?User
481
    {
482
        return $this->forward_from;
483
    }
484
485
    /**
486
     * @param User|null $forward_from
487
     */
488
    public function setForwardFrom(?User $forward_from): void
489
    {
490
        $this->forward_from = $forward_from;
491
    }
492
493
    /**
494
     * @return Chat|null
495
     */
496
    public function getForwardFromChat(): ?Chat
497
    {
498
        return $this->forward_from_chat;
499
    }
500
501
    /**
502
     * @param Chat|null $forward_from_chat
503
     */
504
    public function setForwardFromChat(?Chat $forward_from_chat): void
505
    {
506
        $this->forward_from_chat = $forward_from_chat;
507
    }
508
509
    /**
510
     * @return int|null
511
     */
512
    public function getForwardFromMessageId(): ?int
513
    {
514
        return $this->forward_from_message_id;
515
    }
516
517
    /**
518
     * @param int|null $forward_from_message_id
519
     */
520
    public function setForwardFromMessageId(?int $forward_from_message_id): void
521
    {
522
        $this->forward_from_message_id = $forward_from_message_id;
523
    }
524
525
    /**
526
     * @return string|null
527
     */
528
    public function getForwardSignature(): ?string
529
    {
530
        return $this->forward_signature;
531
    }
532
533
    /**
534
     * @param string|null $forward_signature
535
     */
536
    public function setForwardSignature(?string $forward_signature): void
537
    {
538
        $this->forward_signature = $forward_signature;
539
    }
540
541
    /**
542
     * @return string|null
543
     */
544
    public function getForwardSenderName(): ?string
545
    {
546
        return $this->forward_sender_name;
547
    }
548
549
    /**
550
     * @param string|null $forward_sender_name
551
     */
552
    public function setForwardSenderName(?string $forward_sender_name): void
553
    {
554
        $this->forward_sender_name = $forward_sender_name;
555
    }
556
557
    /**
558
     * @return int|null
559
     */
560
    public function getForwardDate(): ?int
561
    {
562
        return $this->forward_date;
563
    }
564
565
    /**
566
     * @param int|null $forward_date
567
     */
568
    public function setForwardDate(?int $forward_date): void
569
    {
570
        $this->forward_date = $forward_date;
571
    }
572
573
    /**
574
     * @return Message|null
575
     */
576
    public function getReplyToMessage(): ?Message
577
    {
578
        return $this->reply_to_message;
579
    }
580
581
    /**
582
     * @param Message|null $reply_to_message
583
     */
584
    public function setReplyToMessage(?Message $reply_to_message): void
585
    {
586
        $this->reply_to_message = $reply_to_message;
587
    }
588
589
    /**
590
     * @return int|null
591
     */
592
    public function getEditDate(): ?int
593
    {
594
        return $this->edit_date;
595
    }
596
597
    /**
598
     * @param int|null $edit_date
599
     */
600
    public function setEditDate(?int $edit_date): void
601
    {
602
        $this->edit_date = $edit_date;
603
    }
604
605
    /**
606
     * @return string|null
607
     */
608
    public function getMediaGroupId(): ?string
609
    {
610
        return $this->media_group_id;
611
    }
612
613
    /**
614
     * @param string|null $media_group_id
615
     */
616
    public function setMediaGroupId(?string $media_group_id): void
617
    {
618
        $this->media_group_id = $media_group_id;
619
    }
620
621
    /**
622
     * @return string|null
623
     */
624
    public function getAuthorSignature(): ?string
625
    {
626
        return $this->author_signature;
627
    }
628
629
    /**
630
     * @param string|null $author_signature
631
     */
632
    public function setAuthorSignature(?string $author_signature): void
633
    {
634
        $this->author_signature = $author_signature;
635
    }
636
637
    /**
638
     * @return string|null
639
     */
640
    public function getText(): ?string
641
    {
642
        return $this->text;
643
    }
644
645
    /**
646
     * @param string|null $text
647
     */
648
    public function setText(?string $text): void
649
    {
650
        $this->text = $text;
651
    }
652
653
    /**
654
     * @return MessageEntity[]|null
655
     */
656
    public function getEntities(): ?array
657
    {
658
        return $this->entities;
659
    }
660
661
    /**
662
     * @param MessageEntity[]|null $entities
663
     */
664
    public function setEntities(?array $entities): void
665
    {
666
        $this->entities = $entities;
667
    }
668
669
    /**
670
     * @return MessageEntity[]|null
671
     */
672
    public function getCaptionEntities(): ?array
673
    {
674
        return $this->caption_entities;
675
    }
676
677
    /**
678
     * @param MessageEntity[]|null $caption_entities
679
     */
680
    public function setCaptionEntities(?array $caption_entities): void
681
    {
682
        $this->caption_entities = $caption_entities;
683
    }
684
685
    /**
686
     * @return Audio|null
687
     */
688
    public function getAudio(): ?Audio
689
    {
690
        return $this->audio;
691
    }
692
693
    /**
694
     * @param Audio|null $audio
695
     */
696
    public function setAudio(?Audio $audio): void
697
    {
698
        $this->audio = $audio;
699
    }
700
701
    /**
702
     * @return Document|null
703
     */
704
    public function getDocument(): ?Document
705
    {
706
        return $this->document;
707
    }
708
709
    /**
710
     * @param Document|null $document
711
     */
712
    public function setDocument(?Document $document): void
713
    {
714
        $this->document = $document;
715
    }
716
717
    /**
718
     * @return Animation|null
719
     */
720
    public function getAnimation(): ?Animation
721
    {
722
        return $this->animation;
723
    }
724
725
    /**
726
     * @param Animation|null $animation
727
     */
728
    public function setAnimation(?Animation $animation): void
729
    {
730
        $this->animation = $animation;
731
    }
732
733
    /**
734
     * @return Game|null
735
     */
736
    public function getGame(): ?Game
737
    {
738
        return $this->game;
739
    }
740
741
    /**
742
     * @param Game|null $game
743
     */
744
    public function setGame(?Game $game): void
745
    {
746
        $this->game = $game;
747
    }
748
749
    /**
750
     * @return File\PhotoSize[]|null
751
     */
752
    public function getPhoto(): ?array
753
    {
754
        return $this->photo;
755
    }
756
757
    /**
758
     * @param File\PhotoSize[]|null $photo
759
     */
760
    public function setPhoto(?array $photo): void
761
    {
762
        $this->photo = $photo;
763
    }
764
765
    /**
766
     * @return Sticker|null
767
     */
768
    public function getSticker(): ?Sticker
769
    {
770
        return $this->sticker;
771
    }
772
773
    /**
774
     * @param Sticker|null $sticker
775
     */
776
    public function setSticker(?Sticker $sticker): void
777
    {
778
        $this->sticker = $sticker;
779
    }
780
781
    /**
782
     * @return Video|null
783
     */
784
    public function getVideo(): ?Video
785
    {
786
        return $this->video;
787
    }
788
789
    /**
790
     * @param Video|null $video
791
     */
792
    public function setVideo(?Video $video): void
793
    {
794
        $this->video = $video;
795
    }
796
797
    /**
798
     * @return Voice|null
799
     */
800
    public function getVoice(): ?Voice
801
    {
802
        return $this->voice;
803
    }
804
805
    /**
806
     * @param Voice|null $voice
807
     */
808
    public function setVoice(?Voice $voice): void
809
    {
810
        $this->voice = $voice;
811
    }
812
813
    /**
814
     * @return VideoNote|null
815
     */
816
    public function getVideoNote(): ?VideoNote
817
    {
818
        return $this->video_note;
819
    }
820
821
    /**
822
     * @param VideoNote|null $video_note
823
     */
824
    public function setVideoNote(?VideoNote $video_note): void
825
    {
826
        $this->video_note = $video_note;
827
    }
828
829
    /**
830
     * @return string|null
831
     */
832
    public function getCaption(): ?string
833
    {
834
        return $this->caption;
835
    }
836
837
    /**
838
     * @param string|null $caption
839
     */
840
    public function setCaption(?string $caption): void
841
    {
842
        $this->caption = $caption;
843
    }
844
845
    /**
846
     * @return Contact|null
847
     */
848
    public function getContact(): ?Contact
849
    {
850
        return $this->contact;
851
    }
852
853
    /**
854
     * @param Contact|null $contact
855
     */
856
    public function setContact(?Contact $contact): void
857
    {
858
        $this->contact = $contact;
859
    }
860
861
    /**
862
     * @return Location|null
863
     */
864
    public function getLocation(): ?Location
865
    {
866
        return $this->location;
867
    }
868
869
    /**
870
     * @param Location|null $location
871
     */
872
    public function setLocation(?Location $location): void
873
    {
874
        $this->location = $location;
875
    }
876
877
    /**
878
     * @return Venue|null
879
     */
880
    public function getVenue(): ?Venue
881
    {
882
        return $this->venue;
883
    }
884
885
    /**
886
     * @param Venue|null $venue
887
     */
888
    public function setVenue(?Venue $venue): void
889
    {
890
        $this->venue = $venue;
891
    }
892
893
    /**
894
     * @return Poll|null
895
     */
896
    public function getPoll(): ?Poll
897
    {
898
        return $this->poll;
899
    }
900
901
    /**
902
     * @param Poll|null $poll
903
     */
904
    public function setPoll(?Poll $poll): void
905
    {
906
        $this->poll = $poll;
907
    }
908
909
    /**
910
     * @return Dice|null
911
     */
912
    public function getDice(): ?Dice
913
    {
914
        return $this->dice;
915
    }
916
917
    /**
918
     * @param Dice|null $dice
919
     */
920
    public function setDice(?Dice $dice): void
921
    {
922
        $this->dice = $dice;
923
    }
924
925
    /**
926
     * @return User[]|null
927
     */
928
    public function getNewChatMembers(): ?array
929
    {
930
        return $this->new_chat_members;
931
    }
932
933
    /**
934
     * @param User[]|null $new_chat_members
935
     */
936
    public function setNewChatMembers(?array $new_chat_members): void
937
    {
938
        $this->new_chat_members = $new_chat_members;
939
    }
940
941
    /**
942
     * @return User|null
943
     */
944
    public function getLeftChatMember(): ?User
945
    {
946
        return $this->left_chat_member;
947
    }
948
949
    /**
950
     * @param User|null $left_chat_member
951
     */
952
    public function setLeftChatMember(?User $left_chat_member): void
953
    {
954
        $this->left_chat_member = $left_chat_member;
955
    }
956
957
    /**
958
     * @return string|null
959
     */
960
    public function getNewChatTitle(): ?string
961
    {
962
        return $this->new_chat_title;
963
    }
964
965
    /**
966
     * @param string|null $new_chat_title
967
     */
968
    public function setNewChatTitle(?string $new_chat_title): void
969
    {
970
        $this->new_chat_title = $new_chat_title;
971
    }
972
973
    /**
974
     * @return File\PhotoSize[]|null
975
     */
976
    public function getNewChatPhoto(): ?array
977
    {
978
        return $this->new_chat_photo;
979
    }
980
981
    /**
982
     * @param File\PhotoSize[]|null $new_chat_photo
983
     */
984
    public function setNewChatPhoto(?array $new_chat_photo): void
985
    {
986
        $this->new_chat_photo = $new_chat_photo;
987
    }
988
989
    /**
990
     * @return bool|null
991
     */
992
    public function getDeleteChatPhoto(): ?bool
993
    {
994
        return $this->delete_chat_photo;
995
    }
996
997
    /**
998
     * @param bool|null $delete_chat_photo
999
     */
1000
    public function setDeleteChatPhoto(?bool $delete_chat_photo): void
1001
    {
1002
        $this->delete_chat_photo = $delete_chat_photo;
1003
    }
1004
1005
    /**
1006
     * @return bool|null
1007
     */
1008
    public function getGroupChatCreated(): ?bool
1009
    {
1010
        return $this->group_chat_created;
1011
    }
1012
1013
    /**
1014
     * @param bool|null $group_chat_created
1015
     */
1016
    public function setGroupChatCreated(?bool $group_chat_created): void
1017
    {
1018
        $this->group_chat_created = $group_chat_created;
1019
    }
1020
1021
    /**
1022
     * @return bool|null
1023
     */
1024
    public function getSupergroupChatCreated(): ?bool
1025
    {
1026
        return $this->supergroup_chat_created;
1027
    }
1028
1029
    /**
1030
     * @param bool|null $supergroup_chat_created
1031
     */
1032
    public function setSupergroupChatCreated(?bool $supergroup_chat_created): void
1033
    {
1034
        $this->supergroup_chat_created = $supergroup_chat_created;
1035
    }
1036
1037
    /**
1038
     * @return bool|null
1039
     */
1040
    public function getChannelChatCreated(): ?bool
1041
    {
1042
        return $this->channel_chat_created;
1043
    }
1044
1045
    /**
1046
     * @param bool|null $channel_chat_created
1047
     */
1048
    public function setChannelChatCreated(?bool $channel_chat_created): void
1049
    {
1050
        $this->channel_chat_created = $channel_chat_created;
1051
    }
1052
1053
    /**
1054
     * @return int|null
1055
     */
1056
    public function getMigrateToChatId(): ?int
1057
    {
1058
        return $this->migrate_to_chat_id;
1059
    }
1060
1061
    /**
1062
     * @param int|null $migrate_to_chat_id
1063
     */
1064
    public function setMigrateToChatId(?int $migrate_to_chat_id): void
1065
    {
1066
        $this->migrate_to_chat_id = $migrate_to_chat_id;
1067
    }
1068
1069
    /**
1070
     * @return int|null
1071
     */
1072
    public function getMigrateFromChatId(): ?int
1073
    {
1074
        return $this->migrate_from_chat_id;
1075
    }
1076
1077
    /**
1078
     * @param int|null $migrate_from_chat_id
1079
     */
1080
    public function setMigrateFromChatId(?int $migrate_from_chat_id): void
1081
    {
1082
        $this->migrate_from_chat_id = $migrate_from_chat_id;
1083
    }
1084
1085
    /**
1086
     * @return Message|null
1087
     */
1088
    public function getPinnedMessage(): ?Message
1089
    {
1090
        return $this->pinned_message;
1091
    }
1092
1093
    /**
1094
     * @param Message|null $pinned_message
1095
     */
1096
    public function setPinnedMessage(?Message $pinned_message): void
1097
    {
1098
        $this->pinned_message = $pinned_message;
1099
    }
1100
1101
    /**
1102
     * @return Invoice|null
1103
     */
1104
    public function getInvoice(): ?Invoice
1105
    {
1106
        return $this->invoice;
1107
    }
1108
1109
    /**
1110
     * @param Invoice|null $invoice
1111
     */
1112
    public function setInvoice(?Invoice $invoice): void
1113
    {
1114
        $this->invoice = $invoice;
1115
    }
1116
1117
    /**
1118
     * @return SuccessfulPayment|null
1119
     */
1120
    public function getSuccessfulPayment(): ?SuccessfulPayment
1121
    {
1122
        return $this->successful_payment;
1123
    }
1124
1125
    /**
1126
     * @param SuccessfulPayment|null $successful_payment
1127
     */
1128
    public function setSuccessfulPayment(?SuccessfulPayment $successful_payment): void
1129
    {
1130
        $this->successful_payment = $successful_payment;
1131
    }
1132
1133
    /**
1134
     * @return string|null
1135
     */
1136
    public function getConnectedWebsite(): ?string
1137
    {
1138
        return $this->connected_website;
1139
    }
1140
1141
    /**
1142
     * @param string|null $connected_website
1143
     */
1144
    public function setConnectedWebsite(?string $connected_website): void
1145
    {
1146
        $this->connected_website = $connected_website;
1147
    }
1148
1149
    /**
1150
     * @return PassportData|null
1151
     */
1152
    public function getPassportData(): ?PassportData
1153
    {
1154
        return $this->passport_data;
1155
    }
1156
1157
    /**
1158
     * @param PassportData|null $passport_data
1159
     */
1160
    public function setPassportData(?PassportData $passport_data): void
1161
    {
1162
        $this->passport_data = $passport_data;
1163
    }
1164
1165
    /**
1166
     * @return InlineKeyboardMarkup|null
1167
     */
1168
    public function getReplyMarkup(): ?InlineKeyboardMarkup
1169
    {
1170
        return $this->reply_markup;
1171
    }
1172
1173
    /**
1174
     * @param InlineKeyboardMarkup|null $reply_markup
1175
     */
1176
    public function setReplyMarkup(?InlineKeyboardMarkup $reply_markup): void
1177
    {
1178
        $this->reply_markup = $reply_markup;
1179
    }
1180
1181
    /**
1182
     * @return User|null
1183
     */
1184
    public function getViaBot(): ?User
1185
    {
1186
        return $this->via_bot;
1187
    }
1188
1189
    /**
1190
     * @param User|null $via_bot
1191
     */
1192
    public function setViaBot(?User $via_bot): void
1193
    {
1194
        $this->via_bot = $via_bot;
1195
    }
1196
1197
    /**
1198
     * @return ProximityAlertTriggered|null
1199
     */
1200
    public function getProximityAlertTriggered(): ?ProximityAlertTriggered
1201
    {
1202
        return $this->proximity_alert_triggered;
1203
    }
1204
1205
    /**
1206
     * @param ProximityAlertTriggered|null $proximity_alert_triggered
1207
     */
1208
    public function setProximityAlertTriggered(?ProximityAlertTriggered $proximity_alert_triggered): void
1209
    {
1210
        $this->proximity_alert_triggered = $proximity_alert_triggered;
1211
    }
1212
1213
    /**
1214
     * @return Chat|null
1215
     */
1216
    public function getSenderChat(): ?Chat
1217
    {
1218
        return $this->sender_chat;
1219
    }
1220
1221
    /**
1222
     * @param Chat|null $sender_chat
1223
     */
1224
    public function setSenderChat(?Chat $sender_chat): void
1225
    {
1226
        $this->sender_chat = $sender_chat;
1227
    }
1228
1229
}