-
Notifications
You must be signed in to change notification settings - Fork 102
/
pushMessageContent.go
executable file
·1033 lines (863 loc) · 42.1 KB
/
pushMessageContent.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// AUTOGENERATED - DO NOT EDIT
package tdlib
import (
"encoding/json"
"fmt"
)
// PushMessageContent Contains content of a push message notification
type PushMessageContent interface {
GetPushMessageContentEnum() PushMessageContentEnum
}
// PushMessageContentEnum Alias for abstract PushMessageContent 'Sub-Classes', used as constant-enum here
type PushMessageContentEnum string
// PushMessageContent enums
const (
PushMessageContentHiddenType PushMessageContentEnum = "pushMessageContentHidden"
PushMessageContentAnimationType PushMessageContentEnum = "pushMessageContentAnimation"
PushMessageContentAudioType PushMessageContentEnum = "pushMessageContentAudio"
PushMessageContentContactType PushMessageContentEnum = "pushMessageContentContact"
PushMessageContentContactRegisteredType PushMessageContentEnum = "pushMessageContentContactRegistered"
PushMessageContentDocumentType PushMessageContentEnum = "pushMessageContentDocument"
PushMessageContentGameType PushMessageContentEnum = "pushMessageContentGame"
PushMessageContentGameScoreType PushMessageContentEnum = "pushMessageContentGameScore"
PushMessageContentInvoiceType PushMessageContentEnum = "pushMessageContentInvoice"
PushMessageContentLocationType PushMessageContentEnum = "pushMessageContentLocation"
PushMessageContentPhotoType PushMessageContentEnum = "pushMessageContentPhoto"
PushMessageContentPollType PushMessageContentEnum = "pushMessageContentPoll"
PushMessageContentScreenshotTakenType PushMessageContentEnum = "pushMessageContentScreenshotTaken"
PushMessageContentStickerType PushMessageContentEnum = "pushMessageContentSticker"
PushMessageContentTextType PushMessageContentEnum = "pushMessageContentText"
PushMessageContentVideoType PushMessageContentEnum = "pushMessageContentVideo"
PushMessageContentVideoNoteType PushMessageContentEnum = "pushMessageContentVideoNote"
PushMessageContentVoiceNoteType PushMessageContentEnum = "pushMessageContentVoiceNote"
PushMessageContentBasicGroupChatCreateType PushMessageContentEnum = "pushMessageContentBasicGroupChatCreate"
PushMessageContentChatAddMembersType PushMessageContentEnum = "pushMessageContentChatAddMembers"
PushMessageContentChatChangePhotoType PushMessageContentEnum = "pushMessageContentChatChangePhoto"
PushMessageContentChatChangeTitleType PushMessageContentEnum = "pushMessageContentChatChangeTitle"
PushMessageContentChatChangeThemeType PushMessageContentEnum = "pushMessageContentChatChangeTheme"
PushMessageContentChatDeleteMemberType PushMessageContentEnum = "pushMessageContentChatDeleteMember"
PushMessageContentChatJoinByLinkType PushMessageContentEnum = "pushMessageContentChatJoinByLink"
PushMessageContentMessageForwardsType PushMessageContentEnum = "pushMessageContentMessageForwards"
PushMessageContentMediaAlbumType PushMessageContentEnum = "pushMessageContentMediaAlbum"
)
func unmarshalPushMessageContent(rawMsg *json.RawMessage) (PushMessageContent, error) {
if rawMsg == nil {
return nil, nil
}
var objMap map[string]interface{}
err := json.Unmarshal(*rawMsg, &objMap)
if err != nil {
return nil, err
}
switch PushMessageContentEnum(objMap["@type"].(string)) {
case PushMessageContentHiddenType:
var pushMessageContentHidden PushMessageContentHidden
err := json.Unmarshal(*rawMsg, &pushMessageContentHidden)
return &pushMessageContentHidden, err
case PushMessageContentAnimationType:
var pushMessageContentAnimation PushMessageContentAnimation
err := json.Unmarshal(*rawMsg, &pushMessageContentAnimation)
return &pushMessageContentAnimation, err
case PushMessageContentAudioType:
var pushMessageContentAudio PushMessageContentAudio
err := json.Unmarshal(*rawMsg, &pushMessageContentAudio)
return &pushMessageContentAudio, err
case PushMessageContentContactType:
var pushMessageContentContact PushMessageContentContact
err := json.Unmarshal(*rawMsg, &pushMessageContentContact)
return &pushMessageContentContact, err
case PushMessageContentContactRegisteredType:
var pushMessageContentContactRegistered PushMessageContentContactRegistered
err := json.Unmarshal(*rawMsg, &pushMessageContentContactRegistered)
return &pushMessageContentContactRegistered, err
case PushMessageContentDocumentType:
var pushMessageContentDocument PushMessageContentDocument
err := json.Unmarshal(*rawMsg, &pushMessageContentDocument)
return &pushMessageContentDocument, err
case PushMessageContentGameType:
var pushMessageContentGame PushMessageContentGame
err := json.Unmarshal(*rawMsg, &pushMessageContentGame)
return &pushMessageContentGame, err
case PushMessageContentGameScoreType:
var pushMessageContentGameScore PushMessageContentGameScore
err := json.Unmarshal(*rawMsg, &pushMessageContentGameScore)
return &pushMessageContentGameScore, err
case PushMessageContentInvoiceType:
var pushMessageContentInvoice PushMessageContentInvoice
err := json.Unmarshal(*rawMsg, &pushMessageContentInvoice)
return &pushMessageContentInvoice, err
case PushMessageContentLocationType:
var pushMessageContentLocation PushMessageContentLocation
err := json.Unmarshal(*rawMsg, &pushMessageContentLocation)
return &pushMessageContentLocation, err
case PushMessageContentPhotoType:
var pushMessageContentPhoto PushMessageContentPhoto
err := json.Unmarshal(*rawMsg, &pushMessageContentPhoto)
return &pushMessageContentPhoto, err
case PushMessageContentPollType:
var pushMessageContentPoll PushMessageContentPoll
err := json.Unmarshal(*rawMsg, &pushMessageContentPoll)
return &pushMessageContentPoll, err
case PushMessageContentScreenshotTakenType:
var pushMessageContentScreenshotTaken PushMessageContentScreenshotTaken
err := json.Unmarshal(*rawMsg, &pushMessageContentScreenshotTaken)
return &pushMessageContentScreenshotTaken, err
case PushMessageContentStickerType:
var pushMessageContentSticker PushMessageContentSticker
err := json.Unmarshal(*rawMsg, &pushMessageContentSticker)
return &pushMessageContentSticker, err
case PushMessageContentTextType:
var pushMessageContentText PushMessageContentText
err := json.Unmarshal(*rawMsg, &pushMessageContentText)
return &pushMessageContentText, err
case PushMessageContentVideoType:
var pushMessageContentVideo PushMessageContentVideo
err := json.Unmarshal(*rawMsg, &pushMessageContentVideo)
return &pushMessageContentVideo, err
case PushMessageContentVideoNoteType:
var pushMessageContentVideoNote PushMessageContentVideoNote
err := json.Unmarshal(*rawMsg, &pushMessageContentVideoNote)
return &pushMessageContentVideoNote, err
case PushMessageContentVoiceNoteType:
var pushMessageContentVoiceNote PushMessageContentVoiceNote
err := json.Unmarshal(*rawMsg, &pushMessageContentVoiceNote)
return &pushMessageContentVoiceNote, err
case PushMessageContentBasicGroupChatCreateType:
var pushMessageContentBasicGroupChatCreate PushMessageContentBasicGroupChatCreate
err := json.Unmarshal(*rawMsg, &pushMessageContentBasicGroupChatCreate)
return &pushMessageContentBasicGroupChatCreate, err
case PushMessageContentChatAddMembersType:
var pushMessageContentChatAddMembers PushMessageContentChatAddMembers
err := json.Unmarshal(*rawMsg, &pushMessageContentChatAddMembers)
return &pushMessageContentChatAddMembers, err
case PushMessageContentChatChangePhotoType:
var pushMessageContentChatChangePhoto PushMessageContentChatChangePhoto
err := json.Unmarshal(*rawMsg, &pushMessageContentChatChangePhoto)
return &pushMessageContentChatChangePhoto, err
case PushMessageContentChatChangeTitleType:
var pushMessageContentChatChangeTitle PushMessageContentChatChangeTitle
err := json.Unmarshal(*rawMsg, &pushMessageContentChatChangeTitle)
return &pushMessageContentChatChangeTitle, err
case PushMessageContentChatChangeThemeType:
var pushMessageContentChatChangeTheme PushMessageContentChatChangeTheme
err := json.Unmarshal(*rawMsg, &pushMessageContentChatChangeTheme)
return &pushMessageContentChatChangeTheme, err
case PushMessageContentChatDeleteMemberType:
var pushMessageContentChatDeleteMember PushMessageContentChatDeleteMember
err := json.Unmarshal(*rawMsg, &pushMessageContentChatDeleteMember)
return &pushMessageContentChatDeleteMember, err
case PushMessageContentChatJoinByLinkType:
var pushMessageContentChatJoinByLink PushMessageContentChatJoinByLink
err := json.Unmarshal(*rawMsg, &pushMessageContentChatJoinByLink)
return &pushMessageContentChatJoinByLink, err
case PushMessageContentMessageForwardsType:
var pushMessageContentMessageForwards PushMessageContentMessageForwards
err := json.Unmarshal(*rawMsg, &pushMessageContentMessageForwards)
return &pushMessageContentMessageForwards, err
case PushMessageContentMediaAlbumType:
var pushMessageContentMediaAlbum PushMessageContentMediaAlbum
err := json.Unmarshal(*rawMsg, &pushMessageContentMediaAlbum)
return &pushMessageContentMediaAlbum, err
default:
return nil, fmt.Errorf("Error UnMarshaling, unknown type:" + objMap["@type"].(string))
}
}
// PushMessageContentHidden A general message with hidden content
type PushMessageContentHidden struct {
tdCommon
IsPinned bool `json:"is_pinned"` // True, if the message is a pinned message with the specified content
}
// MessageType return the string telegram-type of PushMessageContentHidden
func (pushMessageContentHidden *PushMessageContentHidden) MessageType() string {
return "pushMessageContentHidden"
}
// NewPushMessageContentHidden creates a new PushMessageContentHidden
//
// @param isPinned True, if the message is a pinned message with the specified content
func NewPushMessageContentHidden(isPinned bool) *PushMessageContentHidden {
pushMessageContentHiddenTemp := PushMessageContentHidden{
tdCommon: tdCommon{Type: "pushMessageContentHidden"},
IsPinned: isPinned,
}
return &pushMessageContentHiddenTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentHidden *PushMessageContentHidden) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentHiddenType
}
// PushMessageContentAnimation An animation message (GIF-style).
type PushMessageContentAnimation struct {
tdCommon
Animation *Animation `json:"animation"` // Message content; may be null
Caption string `json:"caption"` // Animation caption
IsPinned bool `json:"is_pinned"` // True, if the message is a pinned message with the specified content
}
// MessageType return the string telegram-type of PushMessageContentAnimation
func (pushMessageContentAnimation *PushMessageContentAnimation) MessageType() string {
return "pushMessageContentAnimation"
}
// NewPushMessageContentAnimation creates a new PushMessageContentAnimation
//
// @param animation Message content; may be null
// @param caption Animation caption
// @param isPinned True, if the message is a pinned message with the specified content
func NewPushMessageContentAnimation(animation *Animation, caption string, isPinned bool) *PushMessageContentAnimation {
pushMessageContentAnimationTemp := PushMessageContentAnimation{
tdCommon: tdCommon{Type: "pushMessageContentAnimation"},
Animation: animation,
Caption: caption,
IsPinned: isPinned,
}
return &pushMessageContentAnimationTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentAnimation *PushMessageContentAnimation) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentAnimationType
}
// PushMessageContentAudio An audio message
type PushMessageContentAudio struct {
tdCommon
Audio *Audio `json:"audio"` // Message content; may be null
IsPinned bool `json:"is_pinned"` // True, if the message is a pinned message with the specified content
}
// MessageType return the string telegram-type of PushMessageContentAudio
func (pushMessageContentAudio *PushMessageContentAudio) MessageType() string {
return "pushMessageContentAudio"
}
// NewPushMessageContentAudio creates a new PushMessageContentAudio
//
// @param audio Message content; may be null
// @param isPinned True, if the message is a pinned message with the specified content
func NewPushMessageContentAudio(audio *Audio, isPinned bool) *PushMessageContentAudio {
pushMessageContentAudioTemp := PushMessageContentAudio{
tdCommon: tdCommon{Type: "pushMessageContentAudio"},
Audio: audio,
IsPinned: isPinned,
}
return &pushMessageContentAudioTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentAudio *PushMessageContentAudio) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentAudioType
}
// PushMessageContentContact A message with a user contact
type PushMessageContentContact struct {
tdCommon
Name string `json:"name"` // Contact's name
IsPinned bool `json:"is_pinned"` // True, if the message is a pinned message with the specified content
}
// MessageType return the string telegram-type of PushMessageContentContact
func (pushMessageContentContact *PushMessageContentContact) MessageType() string {
return "pushMessageContentContact"
}
// NewPushMessageContentContact creates a new PushMessageContentContact
//
// @param name Contact's name
// @param isPinned True, if the message is a pinned message with the specified content
func NewPushMessageContentContact(name string, isPinned bool) *PushMessageContentContact {
pushMessageContentContactTemp := PushMessageContentContact{
tdCommon: tdCommon{Type: "pushMessageContentContact"},
Name: name,
IsPinned: isPinned,
}
return &pushMessageContentContactTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentContact *PushMessageContentContact) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentContactType
}
// PushMessageContentContactRegistered A contact has registered with Telegram
type PushMessageContentContactRegistered struct {
tdCommon
}
// MessageType return the string telegram-type of PushMessageContentContactRegistered
func (pushMessageContentContactRegistered *PushMessageContentContactRegistered) MessageType() string {
return "pushMessageContentContactRegistered"
}
// NewPushMessageContentContactRegistered creates a new PushMessageContentContactRegistered
//
func NewPushMessageContentContactRegistered() *PushMessageContentContactRegistered {
pushMessageContentContactRegisteredTemp := PushMessageContentContactRegistered{
tdCommon: tdCommon{Type: "pushMessageContentContactRegistered"},
}
return &pushMessageContentContactRegisteredTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentContactRegistered *PushMessageContentContactRegistered) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentContactRegisteredType
}
// PushMessageContentDocument A document message (a general file)
type PushMessageContentDocument struct {
tdCommon
Document *Document `json:"document"` // Message content; may be null
IsPinned bool `json:"is_pinned"` // True, if the message is a pinned message with the specified content
}
// MessageType return the string telegram-type of PushMessageContentDocument
func (pushMessageContentDocument *PushMessageContentDocument) MessageType() string {
return "pushMessageContentDocument"
}
// NewPushMessageContentDocument creates a new PushMessageContentDocument
//
// @param document Message content; may be null
// @param isPinned True, if the message is a pinned message with the specified content
func NewPushMessageContentDocument(document *Document, isPinned bool) *PushMessageContentDocument {
pushMessageContentDocumentTemp := PushMessageContentDocument{
tdCommon: tdCommon{Type: "pushMessageContentDocument"},
Document: document,
IsPinned: isPinned,
}
return &pushMessageContentDocumentTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentDocument *PushMessageContentDocument) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentDocumentType
}
// PushMessageContentGame A message with a game
type PushMessageContentGame struct {
tdCommon
Title string `json:"title"` // Game title, empty for pinned game message
IsPinned bool `json:"is_pinned"` // True, if the message is a pinned message with the specified content
}
// MessageType return the string telegram-type of PushMessageContentGame
func (pushMessageContentGame *PushMessageContentGame) MessageType() string {
return "pushMessageContentGame"
}
// NewPushMessageContentGame creates a new PushMessageContentGame
//
// @param title Game title, empty for pinned game message
// @param isPinned True, if the message is a pinned message with the specified content
func NewPushMessageContentGame(title string, isPinned bool) *PushMessageContentGame {
pushMessageContentGameTemp := PushMessageContentGame{
tdCommon: tdCommon{Type: "pushMessageContentGame"},
Title: title,
IsPinned: isPinned,
}
return &pushMessageContentGameTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentGame *PushMessageContentGame) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentGameType
}
// PushMessageContentGameScore A new high score was achieved in a game
type PushMessageContentGameScore struct {
tdCommon
Title string `json:"title"` // Game title, empty for pinned message
Score int32 `json:"score"` // New score, 0 for pinned message
IsPinned bool `json:"is_pinned"` // True, if the message is a pinned message with the specified content
}
// MessageType return the string telegram-type of PushMessageContentGameScore
func (pushMessageContentGameScore *PushMessageContentGameScore) MessageType() string {
return "pushMessageContentGameScore"
}
// NewPushMessageContentGameScore creates a new PushMessageContentGameScore
//
// @param title Game title, empty for pinned message
// @param score New score, 0 for pinned message
// @param isPinned True, if the message is a pinned message with the specified content
func NewPushMessageContentGameScore(title string, score int32, isPinned bool) *PushMessageContentGameScore {
pushMessageContentGameScoreTemp := PushMessageContentGameScore{
tdCommon: tdCommon{Type: "pushMessageContentGameScore"},
Title: title,
Score: score,
IsPinned: isPinned,
}
return &pushMessageContentGameScoreTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentGameScore *PushMessageContentGameScore) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentGameScoreType
}
// PushMessageContentInvoice A message with an invoice from a bot
type PushMessageContentInvoice struct {
tdCommon
Price string `json:"price"` // Product price
IsPinned bool `json:"is_pinned"` // True, if the message is a pinned message with the specified content
}
// MessageType return the string telegram-type of PushMessageContentInvoice
func (pushMessageContentInvoice *PushMessageContentInvoice) MessageType() string {
return "pushMessageContentInvoice"
}
// NewPushMessageContentInvoice creates a new PushMessageContentInvoice
//
// @param price Product price
// @param isPinned True, if the message is a pinned message with the specified content
func NewPushMessageContentInvoice(price string, isPinned bool) *PushMessageContentInvoice {
pushMessageContentInvoiceTemp := PushMessageContentInvoice{
tdCommon: tdCommon{Type: "pushMessageContentInvoice"},
Price: price,
IsPinned: isPinned,
}
return &pushMessageContentInvoiceTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentInvoice *PushMessageContentInvoice) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentInvoiceType
}
// PushMessageContentLocation A message with a location
type PushMessageContentLocation struct {
tdCommon
IsLive bool `json:"is_live"` // True, if the location is live
IsPinned bool `json:"is_pinned"` // True, if the message is a pinned message with the specified content
}
// MessageType return the string telegram-type of PushMessageContentLocation
func (pushMessageContentLocation *PushMessageContentLocation) MessageType() string {
return "pushMessageContentLocation"
}
// NewPushMessageContentLocation creates a new PushMessageContentLocation
//
// @param isLive True, if the location is live
// @param isPinned True, if the message is a pinned message with the specified content
func NewPushMessageContentLocation(isLive bool, isPinned bool) *PushMessageContentLocation {
pushMessageContentLocationTemp := PushMessageContentLocation{
tdCommon: tdCommon{Type: "pushMessageContentLocation"},
IsLive: isLive,
IsPinned: isPinned,
}
return &pushMessageContentLocationTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentLocation *PushMessageContentLocation) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentLocationType
}
// PushMessageContentPhoto A photo message
type PushMessageContentPhoto struct {
tdCommon
Photo *Photo `json:"photo"` // Message content; may be null
Caption string `json:"caption"` // Photo caption
IsSecret bool `json:"is_secret"` // True, if the photo is secret
IsPinned bool `json:"is_pinned"` // True, if the message is a pinned message with the specified content
}
// MessageType return the string telegram-type of PushMessageContentPhoto
func (pushMessageContentPhoto *PushMessageContentPhoto) MessageType() string {
return "pushMessageContentPhoto"
}
// NewPushMessageContentPhoto creates a new PushMessageContentPhoto
//
// @param photo Message content; may be null
// @param caption Photo caption
// @param isSecret True, if the photo is secret
// @param isPinned True, if the message is a pinned message with the specified content
func NewPushMessageContentPhoto(photo *Photo, caption string, isSecret bool, isPinned bool) *PushMessageContentPhoto {
pushMessageContentPhotoTemp := PushMessageContentPhoto{
tdCommon: tdCommon{Type: "pushMessageContentPhoto"},
Photo: photo,
Caption: caption,
IsSecret: isSecret,
IsPinned: isPinned,
}
return &pushMessageContentPhotoTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentPhoto *PushMessageContentPhoto) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentPhotoType
}
// PushMessageContentPoll A message with a poll
type PushMessageContentPoll struct {
tdCommon
Question string `json:"question"` // Poll question
IsRegular bool `json:"is_regular"` // True, if the poll is regular and not in quiz mode
IsPinned bool `json:"is_pinned"` // True, if the message is a pinned message with the specified content
}
// MessageType return the string telegram-type of PushMessageContentPoll
func (pushMessageContentPoll *PushMessageContentPoll) MessageType() string {
return "pushMessageContentPoll"
}
// NewPushMessageContentPoll creates a new PushMessageContentPoll
//
// @param question Poll question
// @param isRegular True, if the poll is regular and not in quiz mode
// @param isPinned True, if the message is a pinned message with the specified content
func NewPushMessageContentPoll(question string, isRegular bool, isPinned bool) *PushMessageContentPoll {
pushMessageContentPollTemp := PushMessageContentPoll{
tdCommon: tdCommon{Type: "pushMessageContentPoll"},
Question: question,
IsRegular: isRegular,
IsPinned: isPinned,
}
return &pushMessageContentPollTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentPoll *PushMessageContentPoll) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentPollType
}
// PushMessageContentScreenshotTaken A screenshot of a message in the chat has been taken
type PushMessageContentScreenshotTaken struct {
tdCommon
}
// MessageType return the string telegram-type of PushMessageContentScreenshotTaken
func (pushMessageContentScreenshotTaken *PushMessageContentScreenshotTaken) MessageType() string {
return "pushMessageContentScreenshotTaken"
}
// NewPushMessageContentScreenshotTaken creates a new PushMessageContentScreenshotTaken
//
func NewPushMessageContentScreenshotTaken() *PushMessageContentScreenshotTaken {
pushMessageContentScreenshotTakenTemp := PushMessageContentScreenshotTaken{
tdCommon: tdCommon{Type: "pushMessageContentScreenshotTaken"},
}
return &pushMessageContentScreenshotTakenTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentScreenshotTaken *PushMessageContentScreenshotTaken) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentScreenshotTakenType
}
// PushMessageContentSticker A message with a sticker
type PushMessageContentSticker struct {
tdCommon
Sticker *Sticker `json:"sticker"` // Message content; may be null
Emoji string `json:"emoji"` // Emoji corresponding to the sticker; may be empty
IsPinned bool `json:"is_pinned"` // True, if the message is a pinned message with the specified content
}
// MessageType return the string telegram-type of PushMessageContentSticker
func (pushMessageContentSticker *PushMessageContentSticker) MessageType() string {
return "pushMessageContentSticker"
}
// NewPushMessageContentSticker creates a new PushMessageContentSticker
//
// @param sticker Message content; may be null
// @param emoji Emoji corresponding to the sticker; may be empty
// @param isPinned True, if the message is a pinned message with the specified content
func NewPushMessageContentSticker(sticker *Sticker, emoji string, isPinned bool) *PushMessageContentSticker {
pushMessageContentStickerTemp := PushMessageContentSticker{
tdCommon: tdCommon{Type: "pushMessageContentSticker"},
Sticker: sticker,
Emoji: emoji,
IsPinned: isPinned,
}
return &pushMessageContentStickerTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentSticker *PushMessageContentSticker) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentStickerType
}
// PushMessageContentText A text message
type PushMessageContentText struct {
tdCommon
Text string `json:"text"` // Message text
IsPinned bool `json:"is_pinned"` // True, if the message is a pinned message with the specified content
}
// MessageType return the string telegram-type of PushMessageContentText
func (pushMessageContentText *PushMessageContentText) MessageType() string {
return "pushMessageContentText"
}
// NewPushMessageContentText creates a new PushMessageContentText
//
// @param text Message text
// @param isPinned True, if the message is a pinned message with the specified content
func NewPushMessageContentText(text string, isPinned bool) *PushMessageContentText {
pushMessageContentTextTemp := PushMessageContentText{
tdCommon: tdCommon{Type: "pushMessageContentText"},
Text: text,
IsPinned: isPinned,
}
return &pushMessageContentTextTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentText *PushMessageContentText) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentTextType
}
// PushMessageContentVideo A video message
type PushMessageContentVideo struct {
tdCommon
Video *Video `json:"video"` // Message content; may be null
Caption string `json:"caption"` // Video caption
IsSecret bool `json:"is_secret"` // True, if the video is secret
IsPinned bool `json:"is_pinned"` // True, if the message is a pinned message with the specified content
}
// MessageType return the string telegram-type of PushMessageContentVideo
func (pushMessageContentVideo *PushMessageContentVideo) MessageType() string {
return "pushMessageContentVideo"
}
// NewPushMessageContentVideo creates a new PushMessageContentVideo
//
// @param video Message content; may be null
// @param caption Video caption
// @param isSecret True, if the video is secret
// @param isPinned True, if the message is a pinned message with the specified content
func NewPushMessageContentVideo(video *Video, caption string, isSecret bool, isPinned bool) *PushMessageContentVideo {
pushMessageContentVideoTemp := PushMessageContentVideo{
tdCommon: tdCommon{Type: "pushMessageContentVideo"},
Video: video,
Caption: caption,
IsSecret: isSecret,
IsPinned: isPinned,
}
return &pushMessageContentVideoTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentVideo *PushMessageContentVideo) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentVideoType
}
// PushMessageContentVideoNote A video note message
type PushMessageContentVideoNote struct {
tdCommon
VideoNote *VideoNote `json:"video_note"` // Message content; may be null
IsPinned bool `json:"is_pinned"` // True, if the message is a pinned message with the specified content
}
// MessageType return the string telegram-type of PushMessageContentVideoNote
func (pushMessageContentVideoNote *PushMessageContentVideoNote) MessageType() string {
return "pushMessageContentVideoNote"
}
// NewPushMessageContentVideoNote creates a new PushMessageContentVideoNote
//
// @param videoNote Message content; may be null
// @param isPinned True, if the message is a pinned message with the specified content
func NewPushMessageContentVideoNote(videoNote *VideoNote, isPinned bool) *PushMessageContentVideoNote {
pushMessageContentVideoNoteTemp := PushMessageContentVideoNote{
tdCommon: tdCommon{Type: "pushMessageContentVideoNote"},
VideoNote: videoNote,
IsPinned: isPinned,
}
return &pushMessageContentVideoNoteTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentVideoNote *PushMessageContentVideoNote) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentVideoNoteType
}
// PushMessageContentVoiceNote A voice note message
type PushMessageContentVoiceNote struct {
tdCommon
VoiceNote *VoiceNote `json:"voice_note"` // Message content; may be null
IsPinned bool `json:"is_pinned"` // True, if the message is a pinned message with the specified content
}
// MessageType return the string telegram-type of PushMessageContentVoiceNote
func (pushMessageContentVoiceNote *PushMessageContentVoiceNote) MessageType() string {
return "pushMessageContentVoiceNote"
}
// NewPushMessageContentVoiceNote creates a new PushMessageContentVoiceNote
//
// @param voiceNote Message content; may be null
// @param isPinned True, if the message is a pinned message with the specified content
func NewPushMessageContentVoiceNote(voiceNote *VoiceNote, isPinned bool) *PushMessageContentVoiceNote {
pushMessageContentVoiceNoteTemp := PushMessageContentVoiceNote{
tdCommon: tdCommon{Type: "pushMessageContentVoiceNote"},
VoiceNote: voiceNote,
IsPinned: isPinned,
}
return &pushMessageContentVoiceNoteTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentVoiceNote *PushMessageContentVoiceNote) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentVoiceNoteType
}
// PushMessageContentBasicGroupChatCreate A newly created basic group
type PushMessageContentBasicGroupChatCreate struct {
tdCommon
}
// MessageType return the string telegram-type of PushMessageContentBasicGroupChatCreate
func (pushMessageContentBasicGroupChatCreate *PushMessageContentBasicGroupChatCreate) MessageType() string {
return "pushMessageContentBasicGroupChatCreate"
}
// NewPushMessageContentBasicGroupChatCreate creates a new PushMessageContentBasicGroupChatCreate
//
func NewPushMessageContentBasicGroupChatCreate() *PushMessageContentBasicGroupChatCreate {
pushMessageContentBasicGroupChatCreateTemp := PushMessageContentBasicGroupChatCreate{
tdCommon: tdCommon{Type: "pushMessageContentBasicGroupChatCreate"},
}
return &pushMessageContentBasicGroupChatCreateTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentBasicGroupChatCreate *PushMessageContentBasicGroupChatCreate) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentBasicGroupChatCreateType
}
// PushMessageContentChatAddMembers New chat members were invited to a group
type PushMessageContentChatAddMembers struct {
tdCommon
MemberName string `json:"member_name"` // Name of the added member
IsCurrentUser bool `json:"is_current_user"` // True, if the current user was added to the group
IsReturned bool `json:"is_returned"` // True, if the user has returned to the group themselves
}
// MessageType return the string telegram-type of PushMessageContentChatAddMembers
func (pushMessageContentChatAddMembers *PushMessageContentChatAddMembers) MessageType() string {
return "pushMessageContentChatAddMembers"
}
// NewPushMessageContentChatAddMembers creates a new PushMessageContentChatAddMembers
//
// @param memberName Name of the added member
// @param isCurrentUser True, if the current user was added to the group
// @param isReturned True, if the user has returned to the group themselves
func NewPushMessageContentChatAddMembers(memberName string, isCurrentUser bool, isReturned bool) *PushMessageContentChatAddMembers {
pushMessageContentChatAddMembersTemp := PushMessageContentChatAddMembers{
tdCommon: tdCommon{Type: "pushMessageContentChatAddMembers"},
MemberName: memberName,
IsCurrentUser: isCurrentUser,
IsReturned: isReturned,
}
return &pushMessageContentChatAddMembersTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentChatAddMembers *PushMessageContentChatAddMembers) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentChatAddMembersType
}
// PushMessageContentChatChangePhoto A chat photo was edited
type PushMessageContentChatChangePhoto struct {
tdCommon
}
// MessageType return the string telegram-type of PushMessageContentChatChangePhoto
func (pushMessageContentChatChangePhoto *PushMessageContentChatChangePhoto) MessageType() string {
return "pushMessageContentChatChangePhoto"
}
// NewPushMessageContentChatChangePhoto creates a new PushMessageContentChatChangePhoto
//
func NewPushMessageContentChatChangePhoto() *PushMessageContentChatChangePhoto {
pushMessageContentChatChangePhotoTemp := PushMessageContentChatChangePhoto{
tdCommon: tdCommon{Type: "pushMessageContentChatChangePhoto"},
}
return &pushMessageContentChatChangePhotoTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentChatChangePhoto *PushMessageContentChatChangePhoto) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentChatChangePhotoType
}
// PushMessageContentChatChangeTitle A chat title was edited
type PushMessageContentChatChangeTitle struct {
tdCommon
Title string `json:"title"` // New chat title
}
// MessageType return the string telegram-type of PushMessageContentChatChangeTitle
func (pushMessageContentChatChangeTitle *PushMessageContentChatChangeTitle) MessageType() string {
return "pushMessageContentChatChangeTitle"
}
// NewPushMessageContentChatChangeTitle creates a new PushMessageContentChatChangeTitle
//
// @param title New chat title
func NewPushMessageContentChatChangeTitle(title string) *PushMessageContentChatChangeTitle {
pushMessageContentChatChangeTitleTemp := PushMessageContentChatChangeTitle{
tdCommon: tdCommon{Type: "pushMessageContentChatChangeTitle"},
Title: title,
}
return &pushMessageContentChatChangeTitleTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentChatChangeTitle *PushMessageContentChatChangeTitle) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentChatChangeTitleType
}
// PushMessageContentChatChangeTheme A chat theme was edited
type PushMessageContentChatChangeTheme struct {
tdCommon
ThemeName string `json:"theme_name"` // If non-empty, name of a new theme set for the chat. Otherwise chat theme was reset to the default one
}
// MessageType return the string telegram-type of PushMessageContentChatChangeTheme
func (pushMessageContentChatChangeTheme *PushMessageContentChatChangeTheme) MessageType() string {
return "pushMessageContentChatChangeTheme"
}
// NewPushMessageContentChatChangeTheme creates a new PushMessageContentChatChangeTheme
//
// @param themeName If non-empty, name of a new theme set for the chat. Otherwise chat theme was reset to the default one
func NewPushMessageContentChatChangeTheme(themeName string) *PushMessageContentChatChangeTheme {
pushMessageContentChatChangeThemeTemp := PushMessageContentChatChangeTheme{
tdCommon: tdCommon{Type: "pushMessageContentChatChangeTheme"},
ThemeName: themeName,
}
return &pushMessageContentChatChangeThemeTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentChatChangeTheme *PushMessageContentChatChangeTheme) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentChatChangeThemeType
}
// PushMessageContentChatDeleteMember A chat member was deleted
type PushMessageContentChatDeleteMember struct {
tdCommon
MemberName string `json:"member_name"` // Name of the deleted member
IsCurrentUser bool `json:"is_current_user"` // True, if the current user was deleted from the group
IsLeft bool `json:"is_left"` // True, if the user has left the group themselves
}
// MessageType return the string telegram-type of PushMessageContentChatDeleteMember
func (pushMessageContentChatDeleteMember *PushMessageContentChatDeleteMember) MessageType() string {
return "pushMessageContentChatDeleteMember"
}
// NewPushMessageContentChatDeleteMember creates a new PushMessageContentChatDeleteMember
//
// @param memberName Name of the deleted member
// @param isCurrentUser True, if the current user was deleted from the group
// @param isLeft True, if the user has left the group themselves
func NewPushMessageContentChatDeleteMember(memberName string, isCurrentUser bool, isLeft bool) *PushMessageContentChatDeleteMember {
pushMessageContentChatDeleteMemberTemp := PushMessageContentChatDeleteMember{
tdCommon: tdCommon{Type: "pushMessageContentChatDeleteMember"},
MemberName: memberName,
IsCurrentUser: isCurrentUser,
IsLeft: isLeft,
}
return &pushMessageContentChatDeleteMemberTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentChatDeleteMember *PushMessageContentChatDeleteMember) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentChatDeleteMemberType
}
// PushMessageContentChatJoinByLink A new member joined the chat by invite link
type PushMessageContentChatJoinByLink struct {
tdCommon
}
// MessageType return the string telegram-type of PushMessageContentChatJoinByLink
func (pushMessageContentChatJoinByLink *PushMessageContentChatJoinByLink) MessageType() string {
return "pushMessageContentChatJoinByLink"
}
// NewPushMessageContentChatJoinByLink creates a new PushMessageContentChatJoinByLink
//
func NewPushMessageContentChatJoinByLink() *PushMessageContentChatJoinByLink {
pushMessageContentChatJoinByLinkTemp := PushMessageContentChatJoinByLink{
tdCommon: tdCommon{Type: "pushMessageContentChatJoinByLink"},
}
return &pushMessageContentChatJoinByLinkTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentChatJoinByLink *PushMessageContentChatJoinByLink) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentChatJoinByLinkType
}
// PushMessageContentMessageForwards A forwarded messages
type PushMessageContentMessageForwards struct {
tdCommon
TotalCount int32 `json:"total_count"` // Number of forwarded messages
}
// MessageType return the string telegram-type of PushMessageContentMessageForwards
func (pushMessageContentMessageForwards *PushMessageContentMessageForwards) MessageType() string {
return "pushMessageContentMessageForwards"
}
// NewPushMessageContentMessageForwards creates a new PushMessageContentMessageForwards
//
// @param totalCount Number of forwarded messages
func NewPushMessageContentMessageForwards(totalCount int32) *PushMessageContentMessageForwards {
pushMessageContentMessageForwardsTemp := PushMessageContentMessageForwards{
tdCommon: tdCommon{Type: "pushMessageContentMessageForwards"},
TotalCount: totalCount,
}
return &pushMessageContentMessageForwardsTemp
}
// GetPushMessageContentEnum return the enum type of this object
func (pushMessageContentMessageForwards *PushMessageContentMessageForwards) GetPushMessageContentEnum() PushMessageContentEnum {
return PushMessageContentMessageForwardsType
}
// PushMessageContentMediaAlbum A media album
type PushMessageContentMediaAlbum struct {
tdCommon
TotalCount int32 `json:"total_count"` // Number of messages in the album
HasPhotos bool `json:"has_photos"` // True, if the album has at least one photo
HasVideos bool `json:"has_videos"` // True, if the album has at least one video