func fetchYoutubeInfo(client *gumble.Client, id string) { var info videoInfo // Fetch + parse video info url := fmt.Sprintf("http://gdata.youtube.com/feeds/api/videos/%s?v=2&alt=jsonc", id) if resp, err := http.Get(url); err != nil { return } else { decoder := json.NewDecoder(resp.Body) if err := decoder.Decode(&info); err != nil { return } info.Data.Duration *= time.Second resp.Body.Close() } // Create response string var buffer bytes.Buffer if err := outputTemplate.Execute(&buffer, info); err != nil { return } message := gumble.TextMessage{ Channels: []*gumble.Channel{ client.Self.Channel, }, Message: buffer.String(), } client.Send(&message) }