code: func (bot *BotAPI) GetUpdates(config UpdateConfig) ([]Update, error) {
  	v := url.Values{}
  	if config.Offset != 0 {
  		v.Add("offset", strconv.Itoa(config.Offset))
  	}
  	if config.Limit > 0 {
  		v.Add("limit", strconv.Itoa(config.Limit))
  	}
  	if config.Timeout > 0 {
  		v.Add("timeout", strconv.Itoa(config.Timeout))
  	}
  
  	resp, err := bot.MakeRequest("getUpdates", v)
  	if err != nil {
  		return []Update{}, err
  	}
  
  	var updates []Update
  	json.Unmarshal(resp.Result, &updates)
  
  	bot.debugLog("getUpdates", v, updates)
  
  	return updates, nil
  }
docs: // GetUpdates fetches updates.
  // If a WebHook is set, this will not return any data!
  //
  // Offset, Limit, and Timeout are optional.
  // To avoid stale items, set Offset to one higher than the previous item.
  // Set Timeout to a large number to reduce requests so you can get updates
  // instantly instead of having to wait between requests.