chore: add more sources and formatting
This commit is contained in:
parent
4c3b9a5b05
commit
0bd6137ab4
3 changed files with 265 additions and 48 deletions
|
@ -10,8 +10,7 @@ func root(w http.ResponseWriter, r *http.Request) {
|
|||
}
|
||||
|
||||
func getAllBadges(w http.ResponseWriter, r *http.Request) {
|
||||
asd := parseAllBadges()
|
||||
io.WriteString(w, asd)
|
||||
io.WriteString(w, formatAllBadges())
|
||||
}
|
||||
|
||||
// func sevenTvPaints(w http.ResponseWriter, r *http.Request) {
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
package main
|
||||
|
||||
import "encoding/json"
|
||||
import (
|
||||
"encoding/json"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
type _Chatterino struct {
|
||||
Badges []struct {
|
||||
|
@ -10,31 +13,81 @@ type _Chatterino struct {
|
|||
} `json:"badges"`
|
||||
}
|
||||
|
||||
type _FrankerFz struct {
|
||||
Badges []struct {
|
||||
Name string `json:"name"`
|
||||
Url string `json:"url"`
|
||||
Users []string `json:"users"`
|
||||
} `json:"badges"`
|
||||
}
|
||||
|
||||
type _SevenTv struct {
|
||||
Badges []struct {
|
||||
Name string `json:"name"`
|
||||
Url string `json:"url"`
|
||||
Users []string `json:"users"`
|
||||
} `json:"badges"`
|
||||
Paints []struct {
|
||||
}
|
||||
// Paints []struct {
|
||||
// }
|
||||
}
|
||||
|
||||
type _Bttv struct {
|
||||
Badges []struct {
|
||||
Name string `json:"name"`
|
||||
Url map[string]string `json:"url"`
|
||||
Users []string `json:"users"`
|
||||
} `json:"badges"`
|
||||
}
|
||||
|
||||
type _FrankerFz struct {
|
||||
Badges []struct {
|
||||
ID int64 `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Url map[string]string `json:"url"`
|
||||
Users []string `json:"users"`
|
||||
} `json:"badges"`
|
||||
}
|
||||
|
||||
type _Chatty struct{}
|
||||
|
||||
type _DankChat struct {
|
||||
Badges []struct {
|
||||
Name string `json:"name"`
|
||||
Url string `json:"url"`
|
||||
Users []string `json:"users"`
|
||||
} `json:"badges"`
|
||||
}
|
||||
|
||||
type _Homies struct {
|
||||
CustomBadges []struct {
|
||||
Name string `json:"name"`
|
||||
Url string `json:"url"`
|
||||
Users []string `json:"users"`
|
||||
} `json:"customBadges"`
|
||||
Badges []struct {
|
||||
Name string `json:"name"`
|
||||
Url string `json:"url"`
|
||||
Users []string `json:"users"`
|
||||
} `json:"badges"`
|
||||
BadgesTwo []struct {
|
||||
Name string `json:"name"`
|
||||
Url string `json:"url"`
|
||||
Users []string `json:"users"`
|
||||
} `json:"badges2"`
|
||||
}
|
||||
|
||||
type _PurpleTv struct {
|
||||
Badges []struct {
|
||||
Name string `json:"name"`
|
||||
Url string `json:"url"`
|
||||
Users []string `json:"users"`
|
||||
} `json:"badges"`
|
||||
}
|
||||
|
||||
type Format struct {
|
||||
Chatterino _Chatterino `json:"chatterino"`
|
||||
SevenTv _SevenTv `json:"7tv"`
|
||||
SevenTv _SevenTv `json:"seventv"`
|
||||
Ffz _FrankerFz `json:"ffz"`
|
||||
Bttv _Bttv `json:"bttv"`
|
||||
DankChat _DankChat `json:"dankchat"`
|
||||
Homies _Homies `json:"homies"`
|
||||
PurpleTv _PurpleTv `json:"purpletv"`
|
||||
}
|
||||
|
||||
func parseChatterino(format *Format) {
|
||||
// Done
|
||||
func formatChatterino(format *Format) {
|
||||
chatterino := &Chatterino{}
|
||||
chatterino.getBadges()
|
||||
|
||||
|
@ -51,30 +104,115 @@ func parseChatterino(format *Format) {
|
|||
}
|
||||
}
|
||||
|
||||
func parseSevenTv(format *Format) {
|
||||
sevenTv := &Chatterino{}
|
||||
sevenTv.getBadges()
|
||||
// TODO
|
||||
func formatSevenTv(format *Format) {
|
||||
data := &SevenTv{}
|
||||
data.getBadges()
|
||||
|
||||
for _, badge := range sevenTv.Badges {
|
||||
format.Chatterino.Badges = append(format.Chatterino.Badges, struct {
|
||||
}
|
||||
|
||||
// Done
|
||||
func formatFfz(format *Format) {
|
||||
data := &FrankerFz{}
|
||||
data.getBadges()
|
||||
|
||||
for _, badge := range data.Badges {
|
||||
format.Ffz.Badges = append(format.Ffz.Badges, struct {
|
||||
ID int64 `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Url map[string]string `json:"url"`
|
||||
Users []string `json:"users"`
|
||||
}{
|
||||
ID: badge.ID,
|
||||
Name: badge.Title,
|
||||
Url: badge.Urls,
|
||||
})
|
||||
}
|
||||
|
||||
for id, userIDs := range data.Users {
|
||||
badgeID, err := strconv.ParseInt(id, 10, 64)
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
|
||||
for i := range format.Ffz.Badges {
|
||||
if format.Ffz.Badges[i].ID == badgeID {
|
||||
for _, userID := range userIDs {
|
||||
format.Ffz.Badges[i].Users = append(format.Ffz.Badges[i].Users, strconv.FormatInt(userID, 10))
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Done
|
||||
func formatDankChat(format *Format) {
|
||||
data := &DankChat{}
|
||||
data.getBadges()
|
||||
|
||||
for _, badge := range data.Badges {
|
||||
format.DankChat.Badges = append(format.DankChat.Badges, struct {
|
||||
Name string `json:"name"`
|
||||
Url string `json:"url"`
|
||||
Users []string `json:"users"`
|
||||
}{
|
||||
Name: badge.Tooltip,
|
||||
Url: badge.Image3,
|
||||
Name: badge.Type,
|
||||
Url: badge.URL,
|
||||
Users: badge.Users,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func parseAllBadges() string {
|
||||
// func parseHomies(format *Format) {
|
||||
// data := &Homies{}
|
||||
// data.getBadges()
|
||||
|
||||
// for _, badge := range data.Badges {
|
||||
// format.Homies.Badges = append(format.Homies.Badges, struct {
|
||||
// Name string `json:"name"`
|
||||
// Url string `json:"url"`
|
||||
// Users []string `json:"users"`
|
||||
// }{
|
||||
// Name: badge.Tooltip,
|
||||
// Url: badge.Image3,
|
||||
// Users: []string{badge.Username},
|
||||
// })
|
||||
// }
|
||||
// }
|
||||
|
||||
// Done
|
||||
func formatPurpleTv(format *Format) {
|
||||
data := &PurpleTV{}
|
||||
data.getBadges()
|
||||
|
||||
var users []string
|
||||
for _, user := range data.Users {
|
||||
users = append(users, user.UserName)
|
||||
}
|
||||
|
||||
format.PurpleTv.Badges = append(format.PurpleTv.Badges, struct {
|
||||
Name string `json:"name"`
|
||||
Url string `json:"url"`
|
||||
Users []string `json:"users"`
|
||||
}{
|
||||
Name: "PurpleTV Supporter",
|
||||
Url: data.DefaultBadgeURL,
|
||||
Users: users,
|
||||
})
|
||||
}
|
||||
|
||||
func formatAllBadges() string {
|
||||
format := &Format{}
|
||||
|
||||
parseChatterino(format)
|
||||
// formatChatterino(format)
|
||||
// formatSevenTv(format)
|
||||
formatFfz(format)
|
||||
// formatDankChat(format)
|
||||
// parseHomies(format)
|
||||
// formatPurpleTv(format)
|
||||
|
||||
json, _ := json.Marshal(format)
|
||||
|
||||
return string(json)
|
||||
// bttv := &Bttv{}
|
||||
// ffz := &FrankerFz{}
|
||||
|
|
|
@ -16,6 +16,15 @@ type GqlQuery struct {
|
|||
Query string `json:"query"`
|
||||
}
|
||||
|
||||
type Chatterino struct {
|
||||
Badges []struct {
|
||||
Tooltip string `json:"tooltip"`
|
||||
Image1 string `json:"image1"`
|
||||
Image2 string `json:"image2"`
|
||||
Image3 string `json:"image3"`
|
||||
Users []string `json:"users"`
|
||||
} `json:"badges"`
|
||||
}
|
||||
type SevenTv struct {
|
||||
Query GqlQuery `json:"query"`
|
||||
UserID string
|
||||
|
@ -35,21 +44,8 @@ type SevenTv struct {
|
|||
} `json:"data"`
|
||||
} `json:"sevenTvBadges"`
|
||||
}
|
||||
|
||||
type Chatterino struct {
|
||||
Badges []struct {
|
||||
Tooltip string `json:"tooltip"`
|
||||
Image1 string `json:"image1"`
|
||||
Image2 string `json:"image2"`
|
||||
Image3 string `json:"image3"`
|
||||
Users []string `json:"users"`
|
||||
} `json:"badges"`
|
||||
}
|
||||
|
||||
type Bttv struct{}
|
||||
|
||||
type FrankerFz struct {
|
||||
Badge struct {
|
||||
Badges []struct {
|
||||
ID int64 `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Title string `json:"title"`
|
||||
|
@ -63,16 +59,64 @@ type FrankerFz struct {
|
|||
Users map[string][]int64 `json:"users"`
|
||||
}
|
||||
|
||||
type Bttv struct{}
|
||||
|
||||
type Chatty struct{}
|
||||
|
||||
type DankChat struct {
|
||||
Type string `json:"type"`
|
||||
URL string `json:"url"`
|
||||
Users []string `json:"users"`
|
||||
Badges []struct {
|
||||
Type string `json:"type"`
|
||||
URL string `json:"url"`
|
||||
Users []string `json:"users"`
|
||||
}
|
||||
}
|
||||
|
||||
type Homies struct{}
|
||||
type PurpleTV struct{}
|
||||
type Homies struct {
|
||||
UserBadges struct {
|
||||
Badges []struct {
|
||||
UserID string `json:"userId"`
|
||||
BadgeID string `json:"badgeId"`
|
||||
BadgeFileType string `json:"badgeFileType"`
|
||||
Username string `json:"username"`
|
||||
Tooltip string `json:"tooltip"`
|
||||
Image1 string `json:"image1"`
|
||||
Image2 string `json:"image2"`
|
||||
Image3 string `json:"image3"`
|
||||
V int64 `json:"__v"`
|
||||
} `json:"badges"`
|
||||
}
|
||||
Badges struct {
|
||||
Badges []struct {
|
||||
ID string `json:"id"`
|
||||
Tooltip string `json:"tooltip"`
|
||||
Image1 string `json:"image1"`
|
||||
Users []string `json:"users"`
|
||||
Image2 string `json:"image2"`
|
||||
Image3 string `json:"image3"`
|
||||
} `json:"badges"`
|
||||
}
|
||||
BadgesTwo struct {
|
||||
Badges []struct {
|
||||
Tooltip string `json:"tooltip"`
|
||||
Image1 string `json:"image1"`
|
||||
Users []string `json:"users"`
|
||||
Image2 string `json:"image2"`
|
||||
Image3 string `json:"image3"`
|
||||
} `json:"badges"`
|
||||
}
|
||||
}
|
||||
|
||||
type PurpleTV struct {
|
||||
DefaultBadgeURL string `json:"defaultBadgeUrl"`
|
||||
Users []struct {
|
||||
UserID string `json:"userId"`
|
||||
UserName string `json:"userName"`
|
||||
DisplayName string `json:"displayName"`
|
||||
Date string `json:"date"` // Always "null"
|
||||
Type interface{} `json:"type"`
|
||||
BadgeURL string `json:"badgeUrl"`
|
||||
} `json:"users"`
|
||||
}
|
||||
|
||||
func doGetRequest(url string) []byte {
|
||||
request, err := http.NewRequest("GET", url, nil)
|
||||
|
@ -238,8 +282,8 @@ func (s *Chatterino) getBadges() *Chatterino {
|
|||
return s
|
||||
}
|
||||
|
||||
func (s *Bttv) getBadges() *Bttv {
|
||||
res := doGetRequest("https://api.betterttv.net/3/cached/badges/twitch")
|
||||
func (s *FrankerFz) getBadges() *FrankerFz {
|
||||
res := doGetRequest("https://api.frankerfacez.com/v1/badges/ids")
|
||||
err := json.Unmarshal(res, &s)
|
||||
if err != nil {
|
||||
logger.Error().Msg(err.Error())
|
||||
|
@ -247,8 +291,8 @@ func (s *Bttv) getBadges() *Bttv {
|
|||
return s
|
||||
}
|
||||
|
||||
func (s *FrankerFz) getBadges() *FrankerFz {
|
||||
res := doGetRequest("https://api.frankerfacez.com/v1/badges/ids")
|
||||
func (s *Bttv) getBadges() *Bttv {
|
||||
res := doGetRequest("https://api.betterttv.net/3/cached/badges/twitch")
|
||||
err := json.Unmarshal(res, &s)
|
||||
if err != nil {
|
||||
logger.Error().Msg(err.Error())
|
||||
|
@ -267,6 +311,42 @@ func (s *Chatty) getBadges() *Chatty {
|
|||
|
||||
func (s *DankChat) getBadges() *DankChat {
|
||||
res := doGetRequest("https://flxrs.com/api/badges")
|
||||
err := json.Unmarshal(res, &s.Badges)
|
||||
if err != nil {
|
||||
logger.Error().Msg(err.Error())
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *Homies) getUserBadges() *Homies {
|
||||
res := doGetRequest("https://chatterinohomies.com/api/badges/list")
|
||||
err := json.Unmarshal(res, &s.UserBadges)
|
||||
if err != nil {
|
||||
logger.Error().Msg(err.Error())
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *Homies) getBadges() *Homies {
|
||||
res := doGetRequest("https://itzalex.github.io/badges")
|
||||
err := json.Unmarshal(res, &s.Badges)
|
||||
if err != nil {
|
||||
logger.Error().Msg(err.Error())
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *Homies) getBadgesTwo() *Homies {
|
||||
res := doGetRequest("https://itzalex.github.io/badges2")
|
||||
err := json.Unmarshal(res, &s.BadgesTwo)
|
||||
if err != nil {
|
||||
logger.Error().Msg(err.Error())
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *PurpleTV) getBadges() *PurpleTV {
|
||||
res := doGetRequest("https://api.nopbreak.ru/orange/donations")
|
||||
err := json.Unmarshal(res, &s)
|
||||
if err != nil {
|
||||
logger.Error().Msg(err.Error())
|
||||
|
|
Loading…
Add table
Reference in a new issue