package main import ( "github.com/gorilla/mux" "github.com/thoj/go-ircevent" "log" "net/http" "os" ) var con = irc.IRC(os.Getenv("WEB2IRC_IRC_NICK"), os.Getenv("WEB2IRC_IRC_REAL_NAME")) func main() { checkConfig() err := con.Connect(os.Getenv("WEB2IRC_IRC_SERVER") + ":" + os.Getenv("WEB2IRC_IRC_SERVER_PORT")) if err != nil { log.Fatal(err) } con.AddCallback("001", func(e *irc.Event) { if fjoin := os.Getenv("WEB2IRC_IRC_JOIN"); fjoin != "" { log.Println("Joining channel #" + fjoin) con.Join("#" + fjoin) } }) r := mux.NewRouter() r.HandleFunc("/", IndexHandler) r.HandleFunc("/webhook", WebhookHandler).Methods("POST") r.HandleFunc("/webhook", WebhookFailureHandler) http.Handle("/", r) ip := os.Getenv("WEB2IRC_HTTP_IP") port := os.Getenv("WEB2IRC_HTTP_PORT") go Shutdown() log.Println("Listening on " + ip + ":" + port) http.ListenAndServe(ip+":"+port, nil) }