code: func (b *Bmattermost) handleDownloadFile(rmsg *config.Message, id string) error {
  	url, _ := b.mc.Client.GetFileLink(id)
  	finfo, resp := b.mc.Client.GetFileInfo(id)
  	if resp.Error != nil {
  		return resp.Error
  	}
  	err := helper.HandleDownloadSize(b.Log, rmsg, finfo.Name, finfo.Size, b.General)
  	if err != nil {
  		return err
  	}
  	data, resp := b.mc.Client.DownloadFile(id, true)
  	if resp.Error != nil {
  		return resp.Error
  	}
  	helper.HandleDownloadData(b.Log, rmsg, finfo.Name, rmsg.Text, url, &data, b.General)
  	return nil
  }
docs: // handleDownloadFile handles file download