rework services and add test command

development v0.0.27
DustyP 5 years ago
parent 9724f77c8e
commit 12f5b43f35

@ -8,9 +8,9 @@ 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"
"github.com/dustinpianalto/geeksbot/internal/services"
)
func main() {
@ -28,6 +28,7 @@ func main() {
}
database.ConnectDatabase(os.Getenv("DATABASE_URL"))
services.InitializeServices()
owners := []string{
"351794468870946827",
@ -43,22 +44,11 @@ func main() {
CheckPermissions: false,
}
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,
}
// Add Command Handlers
exts.AddCommandHandlers(&geeksbot)
exts.AddCommandHandlers(&manager)
dg.AddHandler(geeksbot.OnMessage)
dg.AddHandler(geeksbot.StatusManager.OnReady)
dg.AddHandler(manager.OnMessage)
dg.AddHandler(manager.StatusManager.OnReady)
err = dg.Open()
if err != nil {
@ -67,7 +57,7 @@ func main() {
}
// Start the Error handler in a goroutine
go ErrorHandler(geeksbot.ErrorChannel)
go ErrorHandler(manager.ErrorChannel)
log.Println("The Bot is now running.")
sc := make(chan os.Signal, 1)

@ -1,14 +0,0 @@
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
}

@ -1,11 +1,11 @@
package exts
import (
"github.com/dustinpianalto/geeksbot"
"github.com/dustinpianalto/disgoman"
"github.com/dustinpianalto/geeksbot/internal/exts/utils"
)
func AddCommandHandlers(g *geeksbot.Geeksbot) {
func AddCommandHandlers(g *disgoman.CommandManager) {
// Arguments:
// name - command name - string
// desc - command description - string
@ -15,6 +15,7 @@ func AddCommandHandlers(g *geeksbot.Geeksbot) {
// type - command type, sets where the command is available
// run - function to run - func(anpan.Context, []string) / CommandRunFunc
_ = g.AddCommand(utils.UserCommand)
_ = g.AddCommand(utils.AddUserCommand)
_ = g.AddCommand(utils.SayCommand)
_ = g.AddCommand(utils.GitCommand)
_ = g.AddCommand(utils.InviteCommand)

@ -9,7 +9,9 @@ import (
"github.com/bwmarrin/discordgo"
"github.com/dustinpianalto/disgoman"
"github.com/dustinpianalto/geeksbot"
"github.com/dustinpianalto/geeksbot/internal/discord_utils"
"github.com/dustinpianalto/geeksbot/internal/services"
)
var PingCommand = &disgoman.Command{
@ -246,3 +248,34 @@ func userCommandFunc(ctx disgoman.Context, args []string) {
}
}
}
var AddUserCommand = &disgoman.Command{
Name: "user",
Aliases: nil,
Description: "Get user info",
OwnerOnly: false,
Hidden: false,
RequiredPermissions: 0,
Invoke: addUserCommandFunc,
}
func addUserCommandFunc(ctx disgoman.Context, args []string) {
if ctx.Message.Author.ID == ctx.CommandManager.Owners[0] {
user := geeksbot.User{
ID: ctx.Message.Author.ID,
IsActive: true,
IsStaff: true,
IsAdmin: true,
}
user, err := services.UserService.CreateUser(user)
if err != nil {
ctx.CommandManager.ErrorChannel <- disgoman.CommandError{
Context: ctx,
Message: "Error with adding user",
Error: err,
}
return
}
ctx.Session.MessageReactionAdd(ctx.Channel.ID, ctx.Message.ID, "✅")
}
}

@ -0,0 +1,26 @@
package services
import (
"github.com/dustinpianalto/geeksbot"
"github.com/dustinpianalto/geeksbot/internal/database"
)
var (
GuildService geeksbot.GuildService
UserService geeksbot.UserService
ChannelService geeksbot.ChannelService
MessageService geeksbot.MessageService
PatreonService geeksbot.PatreonService
RequestService geeksbot.RequestService
ServerService geeksbot.ServerService
)
func InitializeServices() {
GuildService = database.GuildService
UserService = database.UserService
ChannelService = database.ChannelService
MessageService = database.MessageService
PatreonService = database.PatreonService
RequestService = database.RequestService
ServerService = database.ServerService
}
Loading…
Cancel
Save