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 }