From 9724f77c8ebaf5294865108a3a49a81cfaef5722 Mon Sep 17 00:00:00 2001 From: Dustin Pianalto Date: Sat, 23 Jan 2021 03:11:12 -0900 Subject: [PATCH] Initialize services --- cmd/geeksbot/main.go | 37 +++++++++++++++-------------------- geeksbot.go | 14 +++++++++++++ internal/database/database.go | 14 ++++++++++++- internal/exts/init.go | 14 ++++++------- patreon.go | 2 +- server.go | 2 +- 6 files changed, 52 insertions(+), 31 deletions(-) create mode 100644 geeksbot.go diff --git a/cmd/geeksbot/main.go b/cmd/geeksbot/main.go index 275e1f5..bb9cddb 100644 --- a/cmd/geeksbot/main.go +++ b/cmd/geeksbot/main.go @@ -8,6 +8,7 @@ import ( "github.com/bwmarrin/discordgo" "github.com/dustinpianalto/disgoman" + "github.com/dustinpianalto/geeksbot" "github.com/dustinpianalto/geeksbot/internal/database" "github.com/dustinpianalto/geeksbot/internal/exts" ) @@ -27,11 +28,6 @@ func main() { } database.ConnectDatabase(os.Getenv("DATABASE_URL")) - //postgres.InitializeDatabase() - //utils.LoadTestData() - - //us := &postgres.UserService{DB: postgres.DB} - //gs := &postgres.GuildService{DB: postgres.DB} owners := []string{ "351794468870946827", @@ -47,20 +43,22 @@ func main() { CheckPermissions: false, } - // Add Command Handlers - exts.AddCommandHandlers(&manager) - //services.InitalizeServices(us, gs) + geeksbot := geeksbot.Geeksbot{ + GuildService: database.GuildService, + UserService: database.UserService, + ChannelService: database.ChannelService, + MessageService: database.MessageService, + PatreonService: database.PatreonService, + RequestService: database.RequestService, + ServerService: database.ServerService, + CommandManager: manager, + } - //if _, ok := handler.Commands["help"]; !ok { - // handler.AddDefaultHelpCommand() - //} + // Add Command Handlers + exts.AddCommandHandlers(&geeksbot) - dg.AddHandler(manager.OnMessage) - dg.AddHandler(manager.StatusManager.OnReady) - //dg.AddHandler(guild_management.OnMessageUpdate) - //dg.AddHandler(guild_management.OnMessageDelete) - //dg.AddHandler(user_management.OnGuildMemberAddLogging) - //dg.AddHandler(user_management.OnGuildMemberRemoveLogging) + dg.AddHandler(geeksbot.OnMessage) + dg.AddHandler(geeksbot.StatusManager.OnReady) err = dg.Open() if err != nil { @@ -69,10 +67,7 @@ func main() { } // Start the Error handler in a goroutine - go ErrorHandler(manager.ErrorChannel) - - // Start the Logging handler in a goroutine - //go logging.LoggingHandler(logging.LoggingChannel) + go ErrorHandler(geeksbot.ErrorChannel) log.Println("The Bot is now running.") sc := make(chan os.Signal, 1) diff --git a/geeksbot.go b/geeksbot.go new file mode 100644 index 0000000..64620b3 --- /dev/null +++ b/geeksbot.go @@ -0,0 +1,14 @@ +package geeksbot + +import "github.com/dustinpianalto/disgoman" + +type Geeksbot struct { + GuildService GuildService + UserService UserService + ChannelService ChannelService + MessageService MessageService + RequestService RequestService + PatreonService PatreonService + ServerService ServerService + disgoman.CommandManager +} diff --git a/internal/database/database.go b/internal/database/database.go index b04964a..f14e583 100644 --- a/internal/database/database.go +++ b/internal/database/database.go @@ -17,8 +17,8 @@ var ( UserService userService ChannelService channelService MessageService messageService - PatreonService patreonService RequestService requestService + PatreonService patreonService ServerService serverService ) @@ -52,4 +52,16 @@ func ConnectDatabase(dbConnString string) { log.Fatal(err) } log.Println("Migrations Run") + initServices() + log.Println("Services Initialized") +} + +func initServices() { + GuildService = guildService{db: db} + UserService = userService{db: db} + ChannelService = channelService{db: db} + MessageService = messageService{db: db} + PatreonService = patreonService{db: db} + RequestService = requestService{db: db} + ServerService = serverService{db: db} } diff --git a/internal/exts/init.go b/internal/exts/init.go index 1817f5e..8961806 100644 --- a/internal/exts/init.go +++ b/internal/exts/init.go @@ -1,11 +1,11 @@ package exts import ( - "github.com/dustinpianalto/disgoman" + "github.com/dustinpianalto/geeksbot" "github.com/dustinpianalto/geeksbot/internal/exts/utils" ) -func AddCommandHandlers(h *disgoman.CommandManager) { +func AddCommandHandlers(g *geeksbot.Geeksbot) { // Arguments: // name - command name - string // desc - command description - string @@ -14,9 +14,9 @@ func AddCommandHandlers(h *disgoman.CommandManager) { // perms - permissisions required - anpan.Permission (int) // type - command type, sets where the command is available // run - function to run - func(anpan.Context, []string) / CommandRunFunc - _ = h.AddCommand(utils.UserCommand) - _ = h.AddCommand(utils.SayCommand) - _ = h.AddCommand(utils.GitCommand) - _ = h.AddCommand(utils.InviteCommand) - _ = h.AddCommand(utils.PingCommand) + _ = g.AddCommand(utils.UserCommand) + _ = g.AddCommand(utils.SayCommand) + _ = g.AddCommand(utils.GitCommand) + _ = g.AddCommand(utils.InviteCommand) + _ = g.AddCommand(utils.PingCommand) } diff --git a/patreon.go b/patreon.go index e2baf85..0ceaa6a 100644 --- a/patreon.go +++ b/patreon.go @@ -18,7 +18,7 @@ type PatreonTier struct { type PatreonService interface { PatreonCreatorByID(id int) (PatreonCreator, error) - PatreonCreatorByName(name string) (PatreonCreator, error) + PatreonCreatorByName(name string, guild Guild) (PatreonCreator, error) CreatePatreonCreator(c PatreonCreator) (PatreonCreator, error) UpdatePatreonCreator(c PatreonCreator) (PatreonCreator, error) DeletePatreonCreator(c PatreonCreator) error diff --git a/server.go b/server.go index 2a3af61..a7ebe53 100644 --- a/server.go +++ b/server.go @@ -15,7 +15,7 @@ type Server struct { type ServerService interface { ServerByID(id int) (Server, error) - ServerByName(name string) (Server, error) + ServerByName(name string, guild Guild) (Server, error) CreateServer(s Server) (Server, error) DeleteServer(s Server) error UpdateServer(s Server) (Server, error)