(cmd *cobra.Command, args []string)
| 27 | var startTime time.Time = time.Now() |
| 28 | |
| 29 | func runApp(cmd *cobra.Command, args []string) { |
| 30 | // initialize logger early so config loading is logged to file |
| 31 | utils.InitLogger(false) |
| 32 | config.Load(utils.Logger, cmd) |
| 33 | // reinitialize with correct dev mode |
| 34 | utils.InitLogger(config.ValueOf.Dev) |
| 35 | log := utils.Logger |
| 36 | mainLogger := log.Named("Main") |
| 37 | mainLogger.Info("Starting server") |
| 38 | router := getRouter(log) |
| 39 | |
| 40 | mainBot, err := bot.StartClient(log) |
| 41 | if err != nil { |
| 42 | log.Sugar().Fatalf("Failed to start main bot: %v", err) |
| 43 | } |
| 44 | cache.InitCache(log) |
| 45 | workers, err := bot.StartWorkers(log) |
| 46 | if err != nil { |
| 47 | log.Sugar().Fatalf("Failed to start workers: %v", err) |
| 48 | } |
| 49 | workers.AddDefaultClient(mainBot, mainBot.Self) |
| 50 | bot.StartUserBot(log) |
| 51 | mainLogger.Info("Server started", zap.Int("port", config.ValueOf.Port)) |
| 52 | mainLogger.Info("File Stream Bot", zap.String("version", versionString)) |
| 53 | mainLogger.Sugar().Infof("Server is running at %s", config.ValueOf.Host) |
| 54 | err = router.Run(fmt.Sprintf(":%d", config.ValueOf.Port)) |
| 55 | if err != nil { |
| 56 | mainLogger.Sugar().Fatalf("Server failed to start: %v", err) |
| 57 | } |
| 58 | } |
| 59 | |
| 60 | func getRouter(log *zap.Logger) *gin.Engine { |
| 61 | if config.ValueOf.Dev { |
nothing calls this directly
no test coverage detected