var user = getUser()

if (!paramExists(1))
{
	if(user.properties().get("gender"))
		send("Your gender is set to: " + user.properties().get("gender"))
	else
	{
		send("To set or change your gender, use 'gender M' or 'gender F' (check it with 'gender')")
		send("Lookup someone's gender with 'gender '")
	}

	return
}

if(paramWord(1) == "M" || paramWord(1) == "F")
{
	user.properties().set("gender",paramWord(1))
	send("Gender set to: " + user.properties().get("gender"))
	return
}
else 
{ 
	if(!paramExists(2))
	{
		user = getUser(paramWord(1))
		if(!user.isFound())
		{
			send("User not found")
			return
		}
        
		var g = user.properties().get("gender")
		var p = "them"
        
		if(g == "M")
			p = "him"
		if(g == "F")
			p = "her"
        
		send(user.getPrimary() + " is " + g +" (according to " + p + ", anyway)")
	}
	else
	{
		if(user.getAccessLevel() >= 4 && (paramWord(2) == "M" || paramWord(2) == "F"))
		{
			user = getUser(paramWord(1))
			user.properties().set("gender", paramWord(2))
			send(user.getPrimary() + "'s gender now set to: " + user.properties().get("gender"))
		}
		else
			send("Insufficient access level to change someone else's gender, or invalid gender ;p")
	}
}