diff options
Diffstat (limited to 'main.go')
-rw-r--r-- | main.go | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/main.go b/main.go new file mode 100644 index 0000000..462cd96 --- /dev/null +++ b/main.go @@ -0,0 +1,87 @@ +package main + +import ( + "fmt" + "strings" + + "github.com/nicklaw5/helix/v2" + + "golang.org/x/oauth2/clientcredentials" +) + +var ( + clientSecrets = Secrets("/home/venomade/.local/share/lifesigns/secrets") + clientID = clientSecrets.ClientID + clientSecret = clientSecrets.ClientSecret // Refactor + authFile = "/home/venomade/.local/share/lifesigns/auth" + secretsFile = "/home/venomade/.local/share/lifesigns/secrets" + // Fix Hardcodes + oauth2Config *clientcredentials.Config +) + +func main() { + + userTokens := Auth(authFile); + + client, err := helix.NewClient(&helix.Options{ + ClientID: clientID, + ClientSecret: clientSecret, + AppAccessToken: GetAppToken(), + UserAccessToken: userTokens.AccessToken, + RefreshToken: userTokens.RefreshToken, + }) + if err != nil { + panic(err) + } + + // resp, err := client.GetUsers(&helix.UsersParams{ + // IDs: []string{"26301881", "18074328"}, + // Logins: []string{"summit1g", "lirik"}, + // }) + + // resp, err := client.GetFollowedStream(&helix.FollowedStreamsParams{ + // UserID: "venomade98", + // }) + // resp, err := client.GetFollowedChannels(&helix.GetFollowedChannelParams{ + // UserID: GetUserID(client), + // }) + + resp, err := client.GetFollowedStream(&helix.FollowedStreamsParams{ + UserID: GetUserID(client), + }) + + // for _, channel := range resp.Data.FollowedChannels { + // fmt.Println("Channel:", channel.BroadcasterName) + // } + var output strings.Builder + + for _, channel := range resp.Data.Streams { + output.WriteString(fmt.Sprintf("%s ", channel.UserName)) + } + + fmt.Println(fmt.Sprintf(" %s", strings.TrimSpace(output.String()))) +} + +func GetUserID(client *helix.Client) string{ + resp, err := client.GetUsers(&helix.UsersParams { + Logins: []string{"venomade98"}, + }) + + if err != nil { + panic(err) + } + + // fmt.Printf("Status code: %d\n", resp.StatusCode) + // fmt.Printf("Error: %s\n", resp.ErrorMessage) + // fmt.Printf("Rate limit: %d\n", resp.GetRateLimit()) + // fmt.Printf("Rate limit remaining: %d\n", resp.GetRateLimitRemaining()) + // fmt.Printf("Rate limit reset: %d\n\n", resp.GetRateLimitReset()) + + var uid string; + + for _, user := range resp.Data.Users { + uid = string(user.ID) + } + + return uid +} |