code: func (b *Btelegram) handleUsername(rmsg *config.Message, message *tgbotapi.Message) {
  	if message.From != nil {
  		rmsg.UserID = strconv.Itoa(message.From.ID)
  		if b.GetBool("UseFirstName") {
  			rmsg.Username = message.From.FirstName
  		}
  		if rmsg.Username == "" {
  			rmsg.Username = message.From.UserName
  			if rmsg.Username == "" {
  				rmsg.Username = message.From.FirstName
  			}
  		}
  		// only download avatars if we have a place to upload them (configured mediaserver)
  		if b.General.MediaServerUpload != "" {
  			b.handleDownloadAvatar(message.From.ID, rmsg.Channel)
  		}
  	}
  
  	// if we really didn't find a username, set it to unknown
  	if rmsg.Username == "" {
  		rmsg.Username = unknownUser
  	}
  }
docs: // handleUsername handles the correct setting of the username