@@ -3,17 +3,18 @@ package main
33import (
44 "context"
55 "flag"
6- "github.com/KittyBot-Org/KittyBotGo/internal/dbot"
7- "github.com/KittyBot-Org/KittyBotGo/internal/i18n"
8- "github.com/KittyBot-Org/KittyBotGo/internal/metrics"
9- "github.com/KittyBot-Org/KittyBotGo/internal/modules"
106 "os"
117 "os/signal"
128 "syscall"
139
1410 "github.com/KittyBot-Org/KittyBotGo/internal/config"
1511 "github.com/KittyBot-Org/KittyBotGo/internal/db"
12+ "github.com/KittyBot-Org/KittyBotGo/internal/i18n"
13+ "github.com/KittyBot-Org/KittyBotGo/internal/kbot"
14+ "github.com/KittyBot-Org/KittyBotGo/internal/metrics"
15+ "github.com/KittyBot-Org/KittyBotGo/internal/modules"
1616 "github.com/disgoorg/log"
17+ _ "github.com/lib/pq"
1718)
1819
1920var (
@@ -31,61 +32,63 @@ func init() {
3132}
3233
3334func main () {
34- var err error
3535 logger := log .New (log .Ldate | log .Ltime | log .Lshortfile )
36+ logger .Info ("Starting discord kbot version: " , version )
37+
38+ var cfg kbot.Config
39+ if err := config .LoadConfig (& cfg ); err != nil {
40+ logger .Fatal ("Failed to load config: " , err )
41+ }
42+ logger .SetLevel (cfg .LogLevel )
3643
37- bot := & dbot.Bot {
44+ logger .Info ("Syncing commands? " , * shouldSyncCommands )
45+ logger .Info ("Syncing DB tables? " , * shouldSyncDBTables )
46+ logger .Info ("Exiting after syncing? " , * exitAfterSync )
47+ defer logger .Info ("Shutting down discord kbot..." )
48+
49+ b := & kbot.Bot {
3850 Logger : logger ,
51+ Config : cfg ,
3952 Version : version ,
4053 }
41- bot .Logger .Infof ("Starting dbot version: %s" , version )
42- bot .Logger .Infof ("Syncing commands? %v" , * shouldSyncCommands )
43- bot .Logger .Infof ("Syncing DB tables? %v" , * shouldSyncDBTables )
44- bot .Logger .Infof ("Exiting after syncing? %v" , * exitAfterSync )
45- defer bot .Logger .Info ("Shutting down dbot..." )
46-
47- if err = config .LoadConfig (& bot .Config ); err != nil {
48- bot .Logger .Fatal ("Failed to load config: " , err )
49- }
50- logger .SetLevel (bot .Config .LogLevel )
5154
52- if err = i18n .Setup (bot ); err != nil {
53- bot .Logger .Fatal ("Failed to setup i18n: " , err )
55+ if err : = i18n .Setup (b ); err != nil {
56+ b .Logger .Fatal ("Failed to setup i18n: " , err )
5457 }
5558
56- bot .LoadModules (modules .Modules )
57- bot .SetupPaginator ()
59+ b .LoadModules (modules .Modules )
60+ b .SetupPaginator ()
5861
59- if err = bot .SetupBot (); err != nil {
60- bot .Logger .Fatal ("Failed to setup dbot : " , err )
62+ if err := b .SetupBot (); err != nil {
63+ b .Logger .Fatal ("Failed to setup discord kbot : " , err )
6164 }
62- defer bot .Client .Close (context .TODO ())
65+ defer b .Client .Close (context .TODO ())
6366
6467 if * shouldSyncCommands {
65- bot .SyncCommands ()
68+ b .SyncCommands ()
6669 }
6770
68- if bot .DB , err = db .SetupDatabase (bot .Config .Database , * shouldSyncDBTables , bot .Config .DevMode ); err != nil {
69- bot .Logger .Fatal ("Failed to setup database: " , err )
71+ var err error
72+ if b .DB , err = db .SetupDatabase (b .Config .Database ); err != nil {
73+ b .Logger .Fatal ("Failed to setup database: " , err )
7074 }
71- defer bot .DB .Close ()
75+ defer b .DB .Close ()
7276
7377 if * exitAfterSync {
74- bot .Logger .Infof ("Exiting after syncing commands and database tables" )
78+ b .Logger .Infof ("Exiting after syncing commands and database tables" )
7579 os .Exit (0 )
7680 }
7781
78- metrics .Setup (bot )
82+ metrics .Setup (b )
7983
80- bot .SetupLavalink ()
81- defer bot .Lavalink .Close ()
82- defer bot .SavePlayers ()
84+ b .SetupLavalink ()
85+ defer b .Lavalink .Close ()
8386
84- if err = bot .StartBot (); err != nil {
85- bot .Logger .Fatal ("Failed to start dbot : " , err )
87+ if err = b .StartBot (); err != nil {
88+ b .Logger .Fatal ("Failed to start discord kbot : " , err )
8689 }
8790
88- bot .Logger .Info ("Bot is running. Press CTRL-C to exit." )
91+ b .Logger .Info ("Bot is running. Press CTRL-C to exit." )
8992 s := make (chan os.Signal , 1 )
9093 signal .Notify (s , syscall .SIGINT , syscall .SIGTERM , os .Interrupt )
9194 <- s
0 commit comments