aboutsummaryrefslogtreecommitdiff
path: root/user-group.go
blob: 32342fb371bcba9348603d3ddb9cd941fa8dc783 (plain) (blame)
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
package devianter

import (
	"strconv"
	"strings"
)

// структура группы или пользователя
type Group struct {
	ErrorDescription string
	Owner            struct {
		Group    bool `json:"isGroup"`
		Username string
	}
	Gruser struct {
		ID   int `json:"gruserId"`
		Page struct {
			Modules []struct {
				Name       string
				ModuleData struct {
					About struct {
						Country, Website, WebsiteLabel, Gender, Tagline string
						DeviantFor                                      int64
						SocialLinks                                     []struct {
							Value string
						}
						TextContent text
						Interests   []struct {
							Label, Value string
						}
					}
					CoverDeviation struct {
						Deviation deviantion `json:"coverDeviation"`
					}

					// группы
					GroupAbout struct {
						Tagline     string
						CreatinDate time `json:"foundationTs"`
						Description text
					}
					GroupAdmins struct {
						Results []struct {
							Username string
						}
					}
					Folders struct {
						Results []struct {
							FolderId int
							Name     string
						}
					}

					// галерея
					ModuleData struct {
						Folder struct {
							Username   string
							Pages      int `json:"totalPageCount"`
							Deviations []deviantion
						} `json:"folderDeviations"`
					}
				}
			}
		}
	}
	PageExtraData struct {
		GruserTagline string
		Stats         struct {
			Deviations, Watchers, Watching, Pageviews, CommentsMade, Favourites, Friends int
			FeedComments                                                                 int `json:"commentsReceivedProfile"`
		}
	}
}

func UGroup(name string) (g Group) {
	ujson("dauserprofile/init/about?username="+name, &g)

	return
}

// гарелея пользователя или группы
func Gallery(name string, page int) (g Group) {
	var url strings.Builder
	url.WriteString("dauserprofile/init/gallery?username=")
	url.WriteString(name)
	url.WriteString("&page=")
	url.WriteString(strconv.Itoa(page))
	url.WriteString("&deviations_limit=50&with_subfolders=false")

	ujson(url.String(), &g)
	return
}