@@ -2,16 +2,16 @@ package bot
2
2
3
3
import (
4
4
"fmt"
5
+ "log/slog"
5
6
"os"
6
7
"os/signal"
7
8
"syscall"
8
9
9
10
"github.com/bwmarrin/discordgo"
10
- "github.com/joho/godotenv"
11
- "github.com/kelseyhightower/envconfig"
12
11
"pkg.nit.so/switchboard"
13
12
14
13
"github.com/fogo-sh/dunce/database"
14
+ "github.com/fogo-sh/dunce/database/queries"
15
15
)
16
16
17
17
type Config struct {
@@ -24,19 +24,19 @@ type Config struct {
24
24
var config Config
25
25
var Bot * discordgo.Session
26
26
27
- func Run () error {
28
- err := godotenv .Load ()
29
- if err != nil {
30
- fmt .Printf ("Failed to load .env file: %s\n " , err .Error ())
31
- }
27
+ var db * queries.Queries
28
+
29
+ func Run (inputConfig Config ) error {
30
+ config = inputConfig
31
+
32
+ slog .Info ("Initializing Dunce..." )
32
33
33
- err = envconfig . Process ( "dunce" , & config )
34
+ dbInstance , err := database . New ( config . DBPath )
34
35
if err != nil {
35
- return fmt .Errorf ("error loading config : %s " , err )
36
+ return fmt .Errorf ("error opening database : %w " , err )
36
37
}
37
38
38
- database .Initialize (config .DBPath )
39
- database .Migrate ()
39
+ db = dbInstance
40
40
41
41
Bot , err = discordgo .New (fmt .Sprintf ("Bot %s" , config .Token ))
42
42
if err != nil {
@@ -56,11 +56,11 @@ func Run() error {
56
56
return fmt .Errorf ("error opening Discord connection: %w" , err )
57
57
}
58
58
59
- fmt . Println ("Dunce is now running. Press Ctrl-C to exit." )
59
+ slog . Info ("Dunce is now running. Press Ctrl-C to exit." )
60
60
sc := make (chan os.Signal , 1 )
61
61
signal .Notify (sc , syscall .SIGINT , syscall .SIGTERM , os .Interrupt , os .Kill )
62
62
<- sc
63
- fmt . Println ("Quitting Dunce" )
63
+ slog . Info ("Quitting Dunce" )
64
64
65
65
if err = Bot .Close (); err != nil {
66
66
return fmt .Errorf ("error closing Discord connection: %w" , err )
0 commit comments