summary refs log tree commit diff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go87
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
+}