forked from SevereCloud/vksdk
/
newsfeed.go
157 lines (133 loc) · 4.76 KB
/
newsfeed.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
package object // import "github.com/akss1/vksdk/5.92/object"
type newsfeedEventActivity struct {
Address string `json:"address"` // address of event
ButtonText string `json:"button_text"` // text of attach
Friends []int `json:"friends"` // array of friends ids
MemberStatus int `json:"member_status"` // Current user's member status
Text string `json:"text"` // text of attach
Time int `json:"time"` // event start time
}
// NewsfeedItemAudio struct
type NewsfeedItemAudio struct {
Audio newsfeedItemAudioAudio `json:"audio"`
}
type newsfeedItemAudioAudio struct {
Count int `json:"count"` // Audios number
Items []AudioAudioFull `json:"items"`
}
// NewsfeedItemDigest struct
type NewsfeedItemDigest struct {
ButtonText string `json:"button_text"`
FeedID string `json:"feed_id"` // id of feed in digest
Items []WallWallpost `json:"items"`
MainPostIDs []string `json:"main_post_ids"`
Template string `json:"template"` // type of digest
Title string `json:"title"`
TrackCode string `json:"track_code"`
// Type string `json:"type"`
}
// NewsfeedItemFriend struct
type NewsfeedItemFriend struct {
Friends newsfeedItemFriendFriends `json:"friends"`
}
type newsfeedItemFriendFriends struct {
Count int `json:"count"` // Number of friends has been added
Items []baseUserID `json:"items"`
}
// NewsfeedItemNote struct
type NewsfeedItemNote struct {
Notes newsfeedItemNoteNotes `json:"notes"`
}
type newsfeedItemNoteNotes struct {
Count int `json:"count"` // Notes number
Items []newsfeedNewsfeedNote `json:"items"`
}
// NewsfeedItemPhoto struct
type NewsfeedItemPhoto struct {
Photos newsfeedItemPhotoPhotos `json:"photos"`
}
type newsfeedItemPhotoPhotos struct {
Count int `json:"count"` // Photos number
Items []PhotosPhotoFull `json:"items"`
}
// NewsfeedItemPhotoTag struct
type NewsfeedItemPhotoTag struct {
PhotoTags newsfeedItemPhotoTagPhotoTags `json:"photo_tags"`
}
type newsfeedItemPhotoTagPhotoTags struct {
Count int `json:"count"` // Tags number
Items []PhotosPhotoFull `json:"items"`
}
// NewsfeedItemStoriesBlock struct
type NewsfeedItemStoriesBlock struct {
BlockType string `json:"block_type"`
Stories []StoriesStory `json:"stories"`
// Title string `json:"title"`
// TrackCode string `json:"track_code"`
// Type string `json:"type"`
}
// NewsfeedItemTopic struct
type NewsfeedItemTopic struct {
// Comments baseCommentsInfo `json:"comments"`
// Likes baseLikesInfo `json:"likes"`
// Text string `json:"text"` // Post text
}
// NewsfeedItemVideo struct
type NewsfeedItemVideo struct {
Video newsfeedItemVideoVideo `json:"video"`
}
type newsfeedItemVideoVideo struct {
Count int `json:"count"` // Tags number
Items []VideoVideo `json:"items"`
}
// NewsfeedItemWallpost struct
type NewsfeedItemWallpost struct {
Activity newsfeedEventActivity `json:"activity"`
Attachments []wallWallpostAttachment `json:"attachments"`
Comments baseCommentsInfo `json:"comments"`
CopyHistory []WallWallpost `json:"copy_history"`
Geo baseGeo `json:"geo"`
Likes baseLikesInfo `json:"likes"`
PostSource wallPostSource `json:"post_source"`
PostType string `json:"post_type"`
Reposts baseRepostsInfo `json:"reposts"`
MarkedAsAds int `json:"marked_as_ads,omitempty"`
Views wallViews `json:"views,omitempty"`
IsFavorite bool `json:"is_favorite,omitempty"`
SignerID int `json:"signer_id,omitempty"`
Text string `json:"text"` // Post text
}
// NewsfeedList struct
type NewsfeedList struct {
ID int `json:"id"` // List ID
Title string `json:"title"` // List title
}
// type newsfeedListFull struct {
// }
// NewsfeedNewsfeedItem struct
type NewsfeedNewsfeedItem struct {
Type string `json:"type"`
SourceID int `json:"source_id"`
Date int `json:"date"`
PostID int `json:"post_id,omitempty"`
NewsfeedItemWallpost
NewsfeedItemPhoto
NewsfeedItemPhotoTag
NewsfeedItemFriend
NewsfeedItemNote
NewsfeedItemAudio
NewsfeedItemTopic
NewsfeedItemVideo
NewsfeedItemDigest
NewsfeedItemStoriesBlock
CanEdit int `json:"can_edit,omitempty"`
CreatedBy int `json:"created_by,omitempty"`
CanDelete int `json:"can_delete,omitempty"`
// TODO: Need more fields
}
type newsfeedNewsfeedNote struct {
Comments int `json:"comments"` // Comments Number
ID int `json:"id"` // Note ID
OwnerID int `json:"owner_id"` // integer
Title string `json:"title"` // Note title
}