mirror of
https://github.com/cwinfo/matterbridge.git
synced 2025-06-28 00:59:24 +00:00
Add vendor (steam)
This commit is contained in:
47
vendor/github.com/Philipp15b/go-steam/tradeoffer/escrow.go
generated
vendored
Normal file
47
vendor/github.com/Philipp15b/go-steam/tradeoffer/escrow.go
generated
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
package tradeoffer
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"regexp"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
type EscrowDuration struct {
|
||||
DaysMyEscrow uint32
|
||||
DaysTheirEscrow uint32
|
||||
}
|
||||
|
||||
func parseEscrowDuration(data []byte) (*EscrowDuration, error) {
|
||||
// TODO: why we are using case insensitive matching?
|
||||
myRegex := regexp.MustCompile("(?i)g_daysMyEscrow[\\s=]+(\\d+);")
|
||||
theirRegex := regexp.MustCompile("(?i)g_daysTheirEscrow[\\s=]+(\\d+);")
|
||||
|
||||
myM := myRegex.FindSubmatch(data)
|
||||
theirM := theirRegex.FindSubmatch(data)
|
||||
|
||||
if myM == nil || theirM == nil {
|
||||
// check if access token is valid
|
||||
notFriendsRegex := regexp.MustCompile(">You are not friends with this user<")
|
||||
notFriendsM := notFriendsRegex.FindSubmatch(data)
|
||||
if notFriendsM == nil {
|
||||
return nil, errors.New("regexp does not match")
|
||||
} else {
|
||||
return nil, errors.New("you are not friends with this user")
|
||||
}
|
||||
}
|
||||
|
||||
myEscrow, err := strconv.ParseUint(string(myM[1]), 10, 32)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to parse my duration into uint: %v", err)
|
||||
}
|
||||
theirEscrow, err := strconv.ParseUint(string(theirM[1]), 10, 32)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to parse their duration into uint: %v", err)
|
||||
}
|
||||
|
||||
return &EscrowDuration{
|
||||
DaysMyEscrow: uint32(myEscrow),
|
||||
DaysTheirEscrow: uint32(theirEscrow),
|
||||
}, nil
|
||||
}
|
Reference in New Issue
Block a user