Merge pull request #7 from dustinpianalto/development

Add user to guild on user create
development v0.0.10
DustyP 5 years ago committed by GitHub
commit 20bd455a44
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -57,7 +57,7 @@ func addTagCommandFunc(ctx disgoman.Context, input []string) {
} }
return return
} }
err = services.UserService.CreateUser(&goff.User{ID: ctx.User.ID}) err = services.UserService.CreateUser(&goff.User{ID: ctx.User.ID}, ctx.Guild.ID)
if err != nil { if err != nil {
log.Printf("Error creating user %s: %s", ctx.User.ID, err.Error()) log.Printf("Error creating user %s: %s", ctx.User.ID, err.Error())
} }

@ -25,7 +25,7 @@ func OnGuildMemberAdd(s *discordgo.Session, member *discordgo.GuildMemberAdd) {
IsStaff: false, IsStaff: false,
IsAdmin: false, IsAdmin: false,
} }
err := services.UserService.CreateUser(user) err := services.UserService.CreateUser(user, member.GuildID)
if err != nil { if err != nil {
log.Println("Error adding user to database: ", err) log.Println("Error adding user to database: ", err)
} }

@ -36,10 +36,13 @@ func (s *UserService) User(id string) (*goff.User, error) {
return &u, nil return &u, nil
} }
func (s *UserService) CreateUser(u *goff.User) error { func (s *UserService) CreateUser(u *goff.User, gid string) error {
queryString := `INSERT INTO users (id, banned, logging, steam_id, is_active, is_staff, is_admin) queryString := `INSERT INTO users (id, banned, logging, steam_id, is_active, is_staff, is_admin)
VALUES ($1, $2, $3, $4, $5, $6, $7) ON CONFLICT (id) DO NOTHING` VALUES ($1, $2, $3, $4, $5, $6, $7) ON CONFLICT DO NOTHING`
_, err := s.DB.Exec(queryString, u.ID, u.Banned, u.Logging, u.SteamID, u.IsActive, u.IsStaff, u.IsAdmin) _, err := s.DB.Exec(queryString, u.ID, u.Banned, u.Logging, u.SteamID, u.IsActive, u.IsStaff, u.IsAdmin)
if err == nil {
err = s.AddUserToGuild(u, &goff.Guild{ID: gid})
}
return err return err
} }
@ -59,7 +62,7 @@ func (s *UserService) MarkUserInactive(u *goff.User) error {
} }
func (s *UserService) AddUserToGuild(u *goff.User, g *goff.Guild) error { func (s *UserService) AddUserToGuild(u *goff.User, g *goff.Guild) error {
queryString := `INSERT INTO x_users_guilds (user_id, guild_id) VALUES ($1, $2)` queryString := `INSERT INTO x_users_guilds (user_id, guild_id) VALUES ($1, $2) ON CONFLICT DO NOTHING`
_, err := s.DB.Exec(queryString, u.ID, g.ID) _, err := s.DB.Exec(queryString, u.ID, g.ID)
return err return err
} }

@ -13,7 +13,7 @@ type User struct {
type UserService interface { type UserService interface {
User(id string) (*User, error) User(id string) (*User, error)
CreateUser(u *User) error CreateUser(u *User, gid string) error
DeleteUser(u *User) error DeleteUser(u *User) error
MarkUserInactive(u *User) error MarkUserInactive(u *User) error
AddUserToGuild(u *User, g *Guild) error AddUserToGuild(u *User, g *Guild) error

Loading…
Cancel
Save