func EchoJeopardy(w http.ResponseWriter, r *http.Request) {
	echoReq := alexa.GetEchoRequest(r)
	mongodb, err := mgo.Dial("localhost")
	if err != nil {
		panic(err)
	}
	col := mongodb.DB("echo").C("jeopardy")
	defer mongodb.Close()
	log.Println(echoReq.GetRequestType())
	log.Println(echoReq.GetSessionID())
	if echoReq.GetRequestType() == "LaunchRequest" {
		session := getJeopardySession(col, echoReq.GetSessionID())
		echoResp, _ := jeopardyStart(echoReq, session)
		json, _ := echoResp.String()
		w.Header().Set("Content-Type", "application/json;charset=UTF-8")
		w.Write(json)
	} else if echoReq.GetRequestType() == "IntentRequest" {
		log.Println(echoReq.GetIntentName())
		session := getJeopardySession(col, echoReq.GetSessionID())
		var echoResp *alexa.EchoResponse
		switch echoReq.GetIntentName() {
		case "StartJeopardy":
			echoResp, session = jeopardyStart(echoReq, session)
		case "ListCategories":
			echoResp, session = jeopardyStart(echoReq, session)
		case "PickCategory":
			if session.CurrentQuestion.Category == "" {
				echoResp, session = jeopardyCategory(echoReq, session)
			} else {
				echoResp, session = jeopardyAnswer(echoReq, session)
			}
			session.update(col)
		case "AnswerQuestion":
			echoResp, session = jeopardyAnswer(echoReq, session)
			session.update(col)
		case "RepeatQuestion":
			if session.CurrentQuestion.Question != "" {
				echoResp = alexa.NewEchoResponse().OutputSpeech(session.CurrentQuestion.Question).EndSession(false)
			} else {
				echoResp = alexa.NewEchoResponse().OutputSpeech("I didn't ask a question. Please pick a category first.").EndSession(false)
			}
		case "QuitGame":
			noun := "questions"
			if session.NumQuestions == 1 {
				noun = "question"
			}
			echoResp = alexa.NewEchoResponse().OutputSpeech("You ended with " + strconv.Itoa(session.Dollars) + " after " + strconv.Itoa(session.NumQuestions) + " " + noun + " .").EndSession(true)
		default:
			echoResp = alexa.NewEchoResponse().OutputSpeech("I'm sorry, I didn't get that. Can you say that again?").EndSession(false)
		}
		json, _ := echoResp.String()
		w.Header().Set("Content-Type", "application/json;charset=UTF-8")
		w.Write(json)
	} else if echoReq.GetRequestType() == "SessionEndedRequest" {
	}
}
#1: Greeting and ask for category.
#2: Deliver question with dollar amount.
#3: Verify answer (update session total)
#4: Give current score and list categories.
EchoJeopardy is an HTTP handler that will accept the incoming requests to the skill
and return the contents of an Alexa app response to the server.
package main
import (
	"encoding/json"
	"errors"
	"log"
	"math/rand"
	"net/http"
	"os"
	"strconv"
	"strings"
	"time"
	"github.com/kennygrant/sanitize"
	alexa "github.com/mikeflynn/go-alexa/skillserver"
	"gopkg.in/mgo.v2"
	"gopkg.in/mgo.v2/bson"
)
var applications = map[string]interface{}{
	"/echo/jeopardy": alexa.EchoApplication{
		AppID:   os.Getenv("JEOPARDY_APP_ID"),
		Handler: EchoJeopardy,
	},
}
func main() {
	rand.Seed(time.Now().UTC().UnixNano())
	alexa.Run(applications, "3000")
}
type JeopardySession struct {
	AWSID           string
	Dollars         int
	NumQuestions    int
	CurrentQuestion JeopardyQuestion
	UpdatedAt       int64
}
type JeopardyQuestion struct {
	Category string
	Question string
	Answer   string
	Value    int
}
var jeopardyCategories = map[string]int{
	"food":       49,
	"hodgepodge": 227,
	"history":    114,
	"sports":     42,
	"science":    25,
	"television": 67,
	"people":     442,
	"rhyme time": 561,
	"pop music":  770,
	"quotations": 1420,
}
var jeopardyGreetings = []string{
	"Sure.",
	"Lets do it!",
	"Whatever. I'm just sitting here I guess.",
	"No. I'm busy. Just kidding.",
	"Coolio.",
	"Lets play Jeopardy!",
}
var jeopardyCatSelect = []string{
	"Don't worry your pretty little head about it. Lets go with ",
	"I'll pick ",
	"Lets go with ",
	"You should have picked. I'm going with ",
	"You've already failed, but lets keep going with ",
}
var jeopardyRightAnswer = []string{
	"You got it! ",
	"Nice. ",
	"Bingo. ",
	"Nailed it! ",
	"Correct. ",
	"That is right. ",
	"Holy crap you got it! ",
}
var jeopardyWrongAnswer = []string{
	"Nope.",
	"Sorry, that's incorrect.",
	"Wow, no, not even close.",
	"Yikes. No.",
	"Awww, too bad.",
}