github.com/matthieudolci/hatcher@v0.2.8/main.go (about)

     1  package main
     2  
     3  import (
     4  	"context"
     5  	"net/http"
     6  
     7  	"github.com/matthieudolci/hatcher/common"
     8  
     9  	_ "expvar"
    10  	_ "net/http/pprof"
    11  
    12  	log "github.com/Sirupsen/logrus"
    13  	"github.com/matthieudolci/hatcher/api"
    14  	"github.com/matthieudolci/hatcher/bot"
    15  	"github.com/matthieudolci/hatcher/database"
    16  	"github.com/matthieudolci/hatcher/scheduler"
    17  )
    18  
    19  func main() {
    20  
    21  	var s *common.Slack
    22  
    23  	database.InitDb()
    24  	defer database.DB.Close()
    25  
    26  	ctx := context.Background()
    27  
    28  	s, err := bot.New()
    29  	if err != nil {
    30  		log.Fatal(err)
    31  	}
    32  
    33  	if err := bot.Run(ctx, s); err != nil {
    34  		log.Fatal(err)
    35  	}
    36  
    37  	if err := scheduler.GetTimeAndUsersForScheduler(s); err != nil {
    38  		log.WithError(err)
    39  	}
    40  
    41  	handler, err := api.Handler(s)
    42  	if err != nil {
    43  		log.Fatal(err)
    44  	}
    45  
    46  	log.Fatal(http.ListenAndServe(":9191", handler))
    47  }