diff --git a/examples/stars/stars.go b/examples/stars/stars.go new file mode 100644 index 0000000..d20c3dc --- /dev/null +++ b/examples/stars/stars.go @@ -0,0 +1,46 @@ +package main + +import ( + "flag" + "fmt" + + "github.com/nlopes/slack" +) + +func main() { + var ( + apiToken string + debug bool + ) + + flag.StringVar(&apiToken, "token", "YOUR_TOKEN_HERE", "Your Slack API Token") + flag.BoolVar(&debug, "debug", false, "Show JSON output") + flag.Parse() + + api := slack.New(apiToken) + if debug { + api.SetDebug(true) + } + + // Get all stars for the usr. + params := slack.NewStarsParameters() + starredItems, _, err := api.GetStarred(params) + if err != nil { + fmt.Printf("Error getting stars: %s\n", err) + return + } + for _, s := range starredItems { + var desc string + switch s.Type { + case slack.TYPE_MESSAGE: + desc = s.Message.Text + case slack.TYPE_FILE: + desc = s.File.Name + case slack.TYPE_FILE_COMMENT: + desc = s.File.Name + " - " + s.Comment.Comment + case slack.TYPE_CHANNEL, slack.TYPE_IM, slack.TYPE_GROUP: + desc = s.Channel + } + fmt.Printf("Starred %s: %s\n", s.Type, desc) + } +}