From b60a4e0a375499134a4b4ca6f33170938caa3a76 Mon Sep 17 00:00:00 2001 From: itzaname Date: Sun, 5 Mar 2023 20:17:19 -0500 Subject: [PATCH] Bump go-roblox --- .../itzaname/go-roblox/.gitignore | 2 - .../itzaname/go-roblox/README.md | 1 - .../git.itzana.me/itzaname/go-roblox/asset.go | 110 ------------ .../git.itzana.me/itzaname/go-roblox/go.mod | 3 - .../git.itzana.me/itzaname/go-roblox/item.go | 156 ------------------ .../itzaname/go-roblox/product.go | 61 ------- .../itzaname/go-roblox/session.go | 89 ---------- .../git.itzana.me/itzaname/go-roblox/user.go | 37 ----- 8 files changed, 459 deletions(-) delete mode 100644 vendor/git.itzana.me/itzaname/go-roblox/.gitignore delete mode 100644 vendor/git.itzana.me/itzaname/go-roblox/README.md delete mode 100644 vendor/git.itzana.me/itzaname/go-roblox/asset.go delete mode 100644 vendor/git.itzana.me/itzaname/go-roblox/go.mod delete mode 100644 vendor/git.itzana.me/itzaname/go-roblox/item.go delete mode 100644 vendor/git.itzana.me/itzaname/go-roblox/product.go delete mode 100644 vendor/git.itzana.me/itzaname/go-roblox/session.go delete mode 100644 vendor/git.itzana.me/itzaname/go-roblox/user.go diff --git a/vendor/git.itzana.me/itzaname/go-roblox/.gitignore b/vendor/git.itzana.me/itzaname/go-roblox/.gitignore deleted file mode 100644 index c28c40c..0000000 --- a/vendor/git.itzana.me/itzaname/go-roblox/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -.vscode/launch.json -debug \ No newline at end of file diff --git a/vendor/git.itzana.me/itzaname/go-roblox/README.md b/vendor/git.itzana.me/itzaname/go-roblox/README.md deleted file mode 100644 index fbe2b21..0000000 --- a/vendor/git.itzana.me/itzaname/go-roblox/README.md +++ /dev/null @@ -1 +0,0 @@ -Copyright © Stuart Livingston diff --git a/vendor/git.itzana.me/itzaname/go-roblox/asset.go b/vendor/git.itzana.me/itzaname/go-roblox/asset.go deleted file mode 100644 index 866a8e5..0000000 --- a/vendor/git.itzana.me/itzaname/go-roblox/asset.go +++ /dev/null @@ -1,110 +0,0 @@ -package roblox - -import ( - "fmt" - "io" - "io/ioutil" - "net/http" - "net/url" - "strconv" - "strings" - "encoding/json" -) - -type AssetUploadOptions struct { - Name string - AssetID int - Description string - Public bool - Comments bool - Group int -} - -type AssetUploadResponse struct { - AssetID int64 `json:"AssetId"` - AssetVersionID int64 `json:"AssetVersionId"` -} - -func (s *Session) CreateAsset(options *AssetUploadOptions, f io.Reader) (AssetUploadResponse, error) { - var assetInfo AssetUploadResponse - endpoint, err := url.Parse("https://data.roblox.com/Data/Upload.ashx?json=1&type=Model&genreTypeId=1") - if err != nil { - return assetInfo, err - } - - query := endpoint.Query() - query.Set("name", options.Name) - query.Set("description", options.Description) - query.Set("assetid", strconv.Itoa(options.AssetID)) - - // Comments - if options.Comments { - query.Set("allowComments", "true") - } else { - query.Set("allowComments", "false") - } - - // Public - if options.Public { - query.Set("ispublic", "true") - } else { - query.Set("ispublic", "false") - } - - // Group - if options.Group > 0 { - query.Set("groupId", strconv.Itoa(options.Group)) - } - - endpoint.RawQuery = query.Encode() - - req, err := http.NewRequest("POST", endpoint.String(), nil) - req.Header.Set("user-agent", "Roblox") - - // Perform request - resp, err := s.client.Do(req) - if err != nil { - return assetInfo, err - } - defer resp.Body.Close() - - if resp.StatusCode == 403 && resp.Header.Get("X-Csrf-Token") != "" { - req, err := http.NewRequest("POST", endpoint.String(), f) - req.Header.Set("user-agent", "Roblox") - req.Header.Set("x-csrf-token", strings.Trim(resp.Header["X-Csrf-Token"][0], " ")) - // Perform request - resp, err = s.client.Do(req) - if err != nil { - return assetInfo, err - } - defer resp.Body.Close() - } - - if resp.StatusCode != 200 { - return assetInfo, fmt.Errorf(resp.Status) - } - - body, err := ioutil.ReadAll(resp.Body) - if err != nil { - return assetInfo, err - } - - if err := json.Unmarshal(body, &assetInfo); err != nil { - return assetInfo, err - } - - return assetInfo, nil -} - -func (s *Session) Download(id int) (io.Reader, error) { - resp, err := s.client.Get("https://assetgame.roblox.com/Asset/?id=" + strconv.Itoa(id)) - if err != nil { - return nil, err - } - - if resp.StatusCode != 200 { - return nil, fmt.Errorf(resp.Status) - } - - return resp.Body, nil -} diff --git a/vendor/git.itzana.me/itzaname/go-roblox/go.mod b/vendor/git.itzana.me/itzaname/go-roblox/go.mod deleted file mode 100644 index ecadb1c..0000000 --- a/vendor/git.itzana.me/itzaname/go-roblox/go.mod +++ /dev/null @@ -1,3 +0,0 @@ -module git.itzana.me/itzaname/go-roblox - -go 1.15 diff --git a/vendor/git.itzana.me/itzaname/go-roblox/item.go b/vendor/git.itzana.me/itzaname/go-roblox/item.go deleted file mode 100644 index 5d33d3a..0000000 --- a/vendor/git.itzana.me/itzaname/go-roblox/item.go +++ /dev/null @@ -1,156 +0,0 @@ -package roblox - -import ( - "bytes" - "encoding/json" - "fmt" - "io/ioutil" - "net/http" - "net/url" - "strconv" - "strings" -) - -// Item struct containing data on retrieved items -type Item struct { - ProductID int - ItemID int - AssetID int - UserID int - UserName string - Type string - Name string - CopyLocked bool - Owned bool -} - -// HasItem will return if you own the item -func (s *Session) HasItem(id int) (bool, error) { - resp, err := s.client.Get(fmt.Sprintf("http://api.roblox.com/Ownership/HasAsset?userId=%d&assetId=%d", s.ID, id)) - if err != nil { - return false, err - } - defer resp.Body.Close() - - data, err := ioutil.ReadAll(resp.Body) - if err != nil { - return false, err - } - - return string(data) == "true", nil -} - -// AddItem add item by id to inventory -func (s *Session) AddItem(id int) error { - product, err := s.GetProduct(id) - if err != nil { - return err - } - - payload := struct { - ExpectedCurrency int `json:"expectedCurrency"` - ExpectedPrice int `json:"expectedPrice"` - ExpectedSellerID int `json:"expectedSellerId"` - }{ - ExpectedCurrency: 1, - ExpectedPrice: 0, - ExpectedSellerID: product.Creator.ID, - } - // Gen json body - data, err := json.Marshal(&payload) - if err != nil { - return err - } - - req, err := http.NewRequest("POST", fmt.Sprintf("https://economy.roblox.com/v1/purchases/products/%d", product.ProductID), bytes.NewBuffer(data)) - if err != nil { - return err - } - req.Header.Set("Content-Type", "application/json") - - resp, err := s.client.Do(req) - if err != nil { - return err - } - defer resp.Body.Close() - - if resp.StatusCode == 403 { - req, err := http.NewRequest("POST", fmt.Sprintf("https://economy.roblox.com/v1/purchases/products/%d", product.ProductID), bytes.NewBuffer(data)) - req.Header.Set("Content-Type", "application/json") - req.Header.Set("X-Csrf-Token", resp.Header["X-Csrf-Token"][0]) - - resp, err := s.client.Do(req) - if err != nil { - return err - } - defer resp.Body.Close() - - if resp.StatusCode != 200 { - return fmt.Errorf("Failed to add item. Status %d", resp.StatusCode) - } - } - - return nil -} - -// RemoveItem will remove item from inventory -func (s *Session) RemoveItem(id int) error { - v := url.Values{} - v.Set("assetId", strconv.Itoa(id)) - resp, err := s.client.Post("https://www.roblox.com/asset/delete-from-inventory", "application/x-www-form-urlencoded", bytes.NewBufferString(v.Encode())) - if err != nil { - return err - } - - defer resp.Body.Close() - - if resp.StatusCode == 403 { - req, err := http.NewRequest("POST", "https://www.roblox.com/asset/delete-from-inventory", bytes.NewBufferString(v.Encode())) - req.Header.Set("x-csrf-token", strings.Trim(resp.Header["X-Csrf-Token"][0], " ")) - req.Header.Set("Content-Type", "application/x-www-form-urlencoded") - - resp, err := s.client.Do(req) - if err != nil { - panic(err) - } - defer resp.Body.Close() - - if resp.StatusCode != 200 { - return fmt.Errorf("Failed to remove item. Status %d", resp.StatusCode) - } - } - - return nil -} - -// GetModels will list models in inventory -func (s *Session) GetModels(user int) ([]Item, error) { - var Data []Item - - resp, err := s.client.Get("https://www.roblox.com/users/inventory/list-json?assetTypeId=10&userId=" + strconv.Itoa(user)) - if err != nil { - return Data, fmt.Errorf("Could not get list: %s", err) - } - - if resp.StatusCode == 200 { - var dat map[string]interface{} - defer resp.Body.Close() - body, _ := ioutil.ReadAll(resp.Body) - - if err := json.Unmarshal(body, &dat); err != nil { - panic(err) - } - - set := dat["Data"].(map[string]interface{}) - ilist := set["Items"].([]interface{}) - for _, obj := range ilist { - itm := obj.(map[string]interface{}) - iInfo := itm["Item"].(map[string]interface{}) - iCreator := itm["Creator"].(map[string]interface{}) - Data = append(Data, Item{0, int(iInfo["AssetId"].(float64)), 0, int(iCreator["Id"].(float64)), iCreator["Name"].(string), "Model", iInfo["Name"].(string), false, true}) - } - - return Data, nil - } - return Data, fmt.Errorf("Could not get models. Status: %d", resp.StatusCode) -} diff --git a/vendor/git.itzana.me/itzaname/go-roblox/product.go b/vendor/git.itzana.me/itzaname/go-roblox/product.go deleted file mode 100644 index 5b79d4b..0000000 --- a/vendor/git.itzana.me/itzaname/go-roblox/product.go +++ /dev/null @@ -1,61 +0,0 @@ -package roblox - -import ( - "encoding/json" - "fmt" - "io/ioutil" - "time" -) - -// Product contains info about a product -type Product struct { - TargetID int `json:"TargetId"` - ProductType string `json:"ProductType"` - AssetID int `json:"AssetId"` - ProductID int `json:"ProductId"` - Name string `json:"Name"` - Description string `json:"Description"` - AssetTypeID int `json:"AssetTypeId"` - Creator struct { - ID int `json:"Id"` - Name string `json:"Name"` - CreatorType string `json:"CreatorType"` - CreatorTargetID int `json:"CreatorTargetId"` - } `json:"Creator"` - IconImageAssetID int `json:"IconImageAssetId"` - Created time.Time `json:"Created"` - Updated time.Time `json:"Updated"` - PriceInRobux int `json:"PriceInRobux"` - PriceInTickets int `json:"PriceInTickets"` - Sales int `json:"Sales"` - IsNew bool `json:"IsNew"` - IsForSale bool `json:"IsForSale"` - IsPublicDomain bool `json:"IsPublicDomain"` - IsLimited bool `json:"IsLimited"` - IsLimitedUnique bool `json:"IsLimitedUnique"` - Remaining int `json:"Remaining"` - MinimumMembershipLevel int `json:"MinimumMembershipLevel"` - ContentRatingTypeID int `json:"ContentRatingTypeId"` -} - -// GetProduct will retrieve store information on a product -func (s *Session) GetProduct(id int) (*Product, error) { - resp, err := s.client.Get(fmt.Sprintf("http://api.roblox.com/marketplace/productinfo?assetId=%d", id)) - if err != nil { - return nil, err - } - defer resp.Body.Close() - - data, err := ioutil.ReadAll(resp.Body) - if err != nil { - return nil, err - } - - var info Product - err = json.Unmarshal(data, &info) - if err != nil { - return nil, err - } - - return &info, nil -} diff --git a/vendor/git.itzana.me/itzaname/go-roblox/session.go b/vendor/git.itzana.me/itzaname/go-roblox/session.go deleted file mode 100644 index c81bfe5..0000000 --- a/vendor/git.itzana.me/itzaname/go-roblox/session.go +++ /dev/null @@ -1,89 +0,0 @@ -package roblox - -import ( - "fmt" - "net/http" - "net/http/cookiejar" - "net/url" -) - -// Session struct for roblox login session data and members -type Session struct { - ID int - Username string - client *http.Client -} - -// New create a new session and logs in with provided data -func New(cookie string) (*Session, error) { - cookieJar, _ := cookiejar.New(nil) - rbxCookie := []*http.Cookie{&http.Cookie{ - Name: ".ROBLOSECURITY", - Value: cookie, - }} - // url.Parse("http://www.roblox.com") // http://api.roblox.com - cookieJar.SetCookies(&url.URL{Scheme: "http", Host: "www.roblox.com"}, rbxCookie) - cookieJar.SetCookies(&url.URL{Scheme: "http", Host: "api.roblox.com"}, rbxCookie) - cookieJar.SetCookies(&url.URL{Scheme: "https", Host: "economy.roblox.com"}, rbxCookie) - cookieJar.SetCookies(&url.URL{Scheme: "https", Host: "data.roblox.com"}, rbxCookie) - client := &http.Client{ - Jar: cookieJar, - } - - session := Session{0, "", client} - - /*err := session.Login(username, password) - if err != nil { - return nil, fmt.Errorf("Failed to login: %s", err) - }*/ - - info, err := session.GetUserInfo() - if err != nil { - return nil, fmt.Errorf("Failed to retrieve user information: %s", err) - } - - session.ID = info.UserID - session.Username = info.UserName - - return &session, err -} - -/*func (s *Session) Login(username, password string) error { - details := struct { - Ctype string `json:"ctype"` - Cvalue string `json:"cvalue"` - Password string `json:"password"` - }{ - "Username", - username, - password, - } - payload, err := json.Marshal(&details) - if err != nil { - return err - } - - resp, err := s.client.Post("https://auth.roblox.com/v2/login", "application/json", bytes.NewBuffer(payload)) - if err != nil { - return err - } - resp.Body.Close() - - if resp.StatusCode == 403 { - req, err := http.NewRequest("POST", "https://auth.roblox.com/v2/login", bytes.NewBuffer(payload)) - req.Header.Set("X-Csrf-Token", resp.Header["X-Csrf-Token"][0]) - req.Header.Set("Content-Type", "application/json") - - resp, err := s.client.Do(req) - if err != nil { - return err - } - defer resp.Body.Close() - - if resp.StatusCode != 200 { - return fmt.Errorf("Status %d", resp.StatusCode) - } - } - - return nil -}*/ diff --git a/vendor/git.itzana.me/itzaname/go-roblox/user.go b/vendor/git.itzana.me/itzaname/go-roblox/user.go deleted file mode 100644 index 71935e1..0000000 --- a/vendor/git.itzana.me/itzaname/go-roblox/user.go +++ /dev/null @@ -1,37 +0,0 @@ -package roblox - -import ( - "encoding/json" - "io/ioutil" -) - -type UserInfo struct { - UserID int `json:"UserID"` - UserName string `json:"UserName"` - RobuxBalance int `json:"RobuxBalance"` - TicketsBalance int `json:"TicketsBalance"` - ThumbnailURL string `json:"ThumbnailUrl"` - IsAnyBuildersClubMember bool `json:"IsAnyBuildersClubMember"` -} - -// GetUserInfo will retrieve local user information -func (s *Session) GetUserInfo() (*UserInfo, error) { - resp, err := s.client.Get("http://www.roblox.com/mobileapi/userinfo") - if err != nil { - return nil, err - } - defer resp.Body.Close() - - data, err := ioutil.ReadAll(resp.Body) - if err != nil { - return nil, err - } - - var info UserInfo - err = json.Unmarshal(data, &info) - if err != nil { - return nil, err - } - - return &info, nil -}