code: func (bot *BotAPI) uploadAndSend(method string, config Fileable) (Message, error) {
  	params, err := config.params()
  	if err != nil {
  		return Message{}, err
  	}
  
  	file := config.getFile()
  
  	resp, err := bot.UploadFile(method, params, config.name(), file)
  	if err != nil {
  		return Message{}, err
  	}
  
  	var message Message
  	json.Unmarshal(resp.Result, &message)
  
  	bot.debugLog(method, nil, message)
  
  	return message, nil
  }
docs: // uploadAndSend will send a Message with a new file to Telegram.