code: func (conn *Conn) h_MODE(line *Line) {
  	if !line.argslen(1) {
  		return
  	}
  	if ch := conn.st.GetChannel(line.Args[0]); ch != nil {
  		// channel modes first
  		conn.st.ChannelModes(line.Args[0], line.Args[1], line.Args[2:]...)
  	} else if nk := conn.st.GetNick(line.Args[0]); nk != nil {
  		// nick mode change, should be us
  		if !conn.Me().Equals(nk) {
  			logging.Warn("irc.MODE(): recieved MODE %s for (non-me) nick %s",
  				line.Args[1], line.Args[0])
  			return
  		}
  		conn.st.NickModes(line.Args[0], line.Args[1])
  	} else {
  		logging.Warn("irc.MODE(): not sure what to do with MODE %s",
  			strings.Join(line.Args, " "))
  	}
  }
docs: // Handle MODE changes for channels we know about (and our nick personally)