From 2547281d09465819b4f22647f0b6316fc458b47b Mon Sep 17 00:00:00 2001 From: "Stephen McQuay (smcquay)" Date: Sun, 8 May 2016 13:17:03 -0700 Subject: [PATCH] some golint/vet and changed output format. feedback in #exmormon said put url at end. --- bots/bybot/main.go | 12 +++++++----- bots/reddit/main.go | 40 ++++++++++++++++++++-------------------- 2 files changed, 27 insertions(+), 25 deletions(-) diff --git a/bots/bybot/main.go b/bots/bybot/main.go index 150a113..6b796e0 100644 --- a/bots/bybot/main.go +++ b/bots/bybot/main.go @@ -11,8 +11,8 @@ import ( irc "github.com/fluffle/goirc/client" ) -var host *string = flag.String("host", "localhost:6668", "irc server hostname") -var channel *string = flag.String("channel", "#exmormon", "irc channel") +var host = flag.String("host", "localhost:6668", "irc server hostname") +var channel = flag.String("channel", "#exmormon", "irc channel") func main() { rand.Seed(time.Now().UnixNano()) @@ -21,17 +21,19 @@ func main() { done := make(chan bool) - Register(*host, *channel, done) + register(*host, *channel, done) <-done } const name = "BYbot" +// BY is the Go embodiment of Brigham Young. type BY struct { quotes []string poke chan bool } +// Random returns a random BY quote. That asshat. func (by *BY) Random() string { if len(by.quotes) == 0 { return "" @@ -52,7 +54,7 @@ func (by *BY) spew(conn *irc.Conn, channel string) { } } -func Register(host, channel string, done chan<- bool) { +func register(host, channel string, done chan<- bool) { var p *regexp.Regexp by := BY{ quotes, @@ -95,7 +97,7 @@ func Register(host, channel string, done chan<- bool) { } } -var quotes []string = []string{ +var quotes = []string{ "♬♬ God changed his mind about black people (black people!!) ♬♬", "Wife! Bring me a wife!!", diff --git a/bots/reddit/main.go b/bots/reddit/main.go index 92653b3..fa3f38c 100644 --- a/bots/reddit/main.go +++ b/bots/reddit/main.go @@ -13,9 +13,9 @@ import ( irc "github.com/fluffle/goirc/client" ) -var host *string = flag.String("host", "localhost:6668", "irc server hostname") -var channel *string = flag.String("channel", "#exmormon", "irc channel") -var top *int = flag.Int("top", 5, "number of top posts to use") +var host = flag.String("host", "localhost:6668", "irc server hostname") +var channel = flag.String("channel", "#exmormon", "irc channel") +var top = flag.Int("top", 5, "number of top posts to use") func main() { rand.Seed(time.Now().UnixNano()) @@ -24,13 +24,13 @@ func main() { done := make(chan bool) - Register(*host, *channel, done) + register(*host, *channel, done) <-done } -const name = "reddit" +const name = "reddit-exmo" -func Register(host, channel string, done chan<- bool) { +func register(host, channel string, done chan<- bool) { var p *regexp.Regexp c := irc.SimpleClient(name, name) @@ -68,8 +68,8 @@ func Register(host, channel string, done chan<- bool) { if err != nil { log.Printf("%+v", err) } - for _, item := range prime { - seen[item.ID] = item.Score + for _, i := range prime { + seen[i.ID] = i.Score } for { @@ -77,13 +77,13 @@ func Register(host, channel string, done chan<- bool) { if err != nil { log.Printf("%+v", err) } - for _, item := range latest { - if _, ok := seen[item.ID]; ok { + for _, i := range latest { + if _, ok := seen[i.ID]; ok { continue } - log.Printf("decided to talk about this: %+v", item) - seen[item.ID] = item.Score - c.Privmsgf(channel, "%v", item) + log.Printf("decided to talk about this: %+v", i) + seen[i.ID] = i.Score + c.Privmsgf(channel, "%v", i) } time.Sleep(5 * time.Minute) } @@ -94,7 +94,7 @@ func Register(host, channel string, done chan<- bool) { } } -type Item struct { +type item struct { ID string `json:"id"` Author string `json:"author"` Score int `json:"score"` @@ -103,7 +103,7 @@ type Item struct { Comments int `json:"num_comments"` } -func (i Item) String() string { +func (i item) String() string { com := "" switch i.Comments { @@ -114,19 +114,19 @@ func (i Item) String() string { default: com = fmt.Sprintf(" (%d comments)", i.Comments) } - - return fmt.Sprintf("https://redd.it/%s : %s %v", i.ID, i.Title, com) + url := fmt.Sprintf("https://redd.it/%s", i.ID) + return fmt.Sprintf("%s %v (current score: %d) %s", i.Title, com, i.Score, url) } type response struct { Data struct { Children []struct { - Data Item + Data item } } } -func items() ([]Item, error) { +func items() ([]item, error) { url := fmt.Sprintf("https://www.reddit.com/r/exmormon.json") client := http.Client{} req, err := http.NewRequest("GET", url, nil) @@ -145,7 +145,7 @@ func items() ([]Item, error) { } defer resp.Body.Close() - items := []Item{} + items := []item{} for _, child := range rresp.Data.Children { items = append(items, child.Data) }