code: func (b *Birc) getClient() (*girc.Client, error) {
  	server, portstr, err := net.SplitHostPort(b.GetString("Server"))
  	if err != nil {
  		return nil, err
  	}
  	port, err := strconv.Atoi(portstr)
  	if err != nil {
  		return nil, err
  	}
  	// fix strict user handling of girc
  	user := b.GetString("Nick")
  	for !girc.IsValidUser(user) {
  		if len(user) == 1 || len(user) == 0 {
  			user = "matterbridge"
  			break
  		}
  		user = user[1:]
  	}
  
  	i := girc.New(girc.Config{
  		Server:     server,
  		ServerPass: b.GetString("Password"),
  		Port:       port,
  		Nick:       b.GetString("Nick"),
  		User:       user,
  		Name:       b.GetString("Nick"),
  		SSL:        b.GetBool("UseTLS"),
  		TLSConfig:  &tls.Config{InsecureSkipVerify: b.GetBool("SkipTLSVerify"), ServerName: server}, //nolint:gosec
  		PingDelay:  time.Minute,
  	})
  	return i, nil
  }
docs: // validateInput validates the server/port/nick configuration. Returns a *girc.Client if successful