Repeated polling

This commit is contained in:
Ian Gulliver
2022-10-28 06:34:18 +00:00
parent 9b91b415e6
commit b612e4f3cd

View File

@@ -1,16 +1,32 @@
package main package main
import ( import (
"fmt" "log"
"time"
) )
func main() { func main() {
ac := NewAsanaClient() ac := NewAsanaClient()
sc := NewSlackClient() sc := NewSlackClient()
err := Poll(ac, sc)
if err != nil {
log.Printf("%s", err)
}
tick := time.NewTicker(60 * time.Second)
for {
<-tick.C
Poll(ac, sc)
}
}
func Poll(ac *AsanaClient, sc *SlackClient) error {
stars, err := sc.GetStars() stars, err := sc.GetStars()
if err != nil { if err != nil {
panic(err) return err
} }
for _, item := range stars { for _, item := range stars {
@@ -20,29 +36,31 @@ func main() {
user, err := sc.GetUser(item.Message.User) user, err := sc.GetUser(item.Message.User)
if err != nil { if err != nil {
panic(err) return err
} }
channel, err := sc.GetChannel(item.Channel) channel, err := sc.GetChannel(item.Channel)
if err != nil { if err != nil {
panic(err) return err
} }
title, err := sc.GetTitle(item, user, channel) title, err := sc.GetTitle(item, user, channel)
if err != nil { if err != nil {
panic(err) return err
} }
fmt.Printf("%s\n", title) log.Printf("%s\n", title)
err = ac.CreateTask(title) err = ac.CreateTask(title)
if err != nil { if err != nil {
panic(err) return err
} }
err = sc.RemoveStar(item) err = sc.RemoveStar(item)
if err != nil { if err != nil {
panic(err) return err
} }
} }
return nil
} }