diff --git a/plugins/beers/beers.go b/plugins/beers/beers.go index 8b818fb..951b28b 100644 --- a/plugins/beers/beers.go +++ b/plugins/beers/beers.go @@ -287,6 +287,14 @@ type checkin struct { } } } + Badges struct { + Count int + Items []struct { + BadgeName string `json:"badge_name"` + BadgeDescription string `json:"badge_description"` + BadgeImage string `json:"badge_image"` + } + } } type mrUntappd struct { @@ -407,6 +415,12 @@ func (p *BeersPlugin) checkUntappd(c bot.Connector, channel string) { msg = fmt.Sprintf("%s -- %s", msg, checkin.Checkin_comment) } + if checkin.Badges.Count > 0 { + msg = msg + "\nThis checkin earned the following badge(s): " + for _, b := range checkin.Badges.Items { + msg = msg + b.BadgeName + } + } args := []interface{}{ channel, @@ -421,6 +435,14 @@ func (p *BeersPlugin) checkUntappd(c bot.Connector, channel string) { AltTxt: "Here's a photo", }) } + if checkin.Badges.Count > 0 { + for _, b := range checkin.Badges.Items { + args = append(args, bot.ImageAttachment{ + URL: b.BadgeImage, + AltTxt: b.BadgeDescription, + }) + } + } user.lastCheckin = checkin.Checkin_id _, err := p.db.Exec(`update untappd set