85 lines
1.7 KiB
Go
85 lines
1.7 KiB
Go
package main
|
|
|
|
import "encoding/json"
|
|
|
|
type _Chatterino struct {
|
|
Badges []struct {
|
|
Name string `json:"name"`
|
|
Url string `json:"url"`
|
|
Users []string `json:"users"`
|
|
} `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 {
|
|
}
|
|
}
|
|
|
|
type Format struct {
|
|
Chatterino _Chatterino `json:"chatterino"`
|
|
SevenTv _SevenTv `json:"7tv"`
|
|
Ffz _FrankerFz `json:"ffz"`
|
|
}
|
|
|
|
func parseChatterino(format *Format) {
|
|
chatterino := &Chatterino{}
|
|
chatterino.getBadges()
|
|
|
|
for _, badge := range chatterino.Badges {
|
|
format.Chatterino.Badges = append(format.Chatterino.Badges, struct {
|
|
Name string `json:"name"`
|
|
Url string `json:"url"`
|
|
Users []string `json:"users"`
|
|
}{
|
|
Name: badge.Tooltip,
|
|
Url: badge.Image3,
|
|
Users: badge.Users,
|
|
})
|
|
}
|
|
}
|
|
|
|
func parseSevenTv(format *Format) {
|
|
sevenTv := &Chatterino{}
|
|
sevenTv.getBadges()
|
|
|
|
for _, badge := range sevenTv.Badges {
|
|
format.Chatterino.Badges = append(format.Chatterino.Badges, struct {
|
|
Name string `json:"name"`
|
|
Url string `json:"url"`
|
|
Users []string `json:"users"`
|
|
}{
|
|
Name: badge.Tooltip,
|
|
Url: badge.Image3,
|
|
Users: badge.Users,
|
|
})
|
|
}
|
|
}
|
|
|
|
func parseAllBadges() string {
|
|
format := &Format{}
|
|
|
|
parseChatterino(format)
|
|
|
|
json, _ := json.Marshal(format)
|
|
|
|
return string(json)
|
|
// bttv := &Bttv{}
|
|
// ffz := &FrankerFz{}
|
|
// chatterino := &Chatterino{}
|
|
// chatty := &Chatty{}
|
|
// homies := &Homies{}
|
|
// ptv := &PurpleTV{}
|
|
}
|