Compare commits

..
7 Commits
Author SHA1 Message Date
Dustin Pianalto 552664268b use custom prefixes
CI / build (push) Has been cancelled
2021-01-24 01:11:22 -09:00
Dustin Pianalto 414757188e remove duplicate prefixes
CI / build (push) Has been cancelled
2021-01-24 01:05:16 -09:00
Dustin Pianalto 888d356b67 debug removing prefix
CI / build (push) Has been cancelled
2021-01-24 00:57:00 -09:00
Dustin Pianalto c776b25899 debug removing prefix
CI / build (push) Has been cancelled
2021-01-24 00:53:04 -09:00
Dustin Pianalto 81f6e23487 Fix array in guild service
CI / build (push) Has been cancelled
2021-01-24 00:46:41 -09:00
Dustin Pianalto 6cf574b22d Add prefix commands
CI / build (push) Has been cancelled
2021-01-24 00:40:02 -09:00
Dustin Pianalto 623df1d55a Add prefix commands
CI / build (push) Has been cancelled
2021-01-24 00:26:34 -09:00
6 changed files with 40 additions and 11 deletions
+5 -1
View File
@@ -72,7 +72,11 @@ func main() {
}
func getPrefixes(guildID string) []string {
return []string{"G.", "g."}
guild, err := services.GuildService.Guild(guildID)
if err != nil || len(guild.Prefixes) == 0 {
return []string{"G$", "g$"}
}
return guild.Prefixes
}
func ErrorHandler(ErrorChan chan disgoman.CommandError) {
+4 -3
View File
@@ -5,6 +5,7 @@ import (
"log"
"github.com/dustinpianalto/geeksbot"
"github.com/lib/pq"
)
type guildService struct {
@@ -15,7 +16,7 @@ func (s guildService) Guild(id string) (geeksbot.Guild, error) {
var g geeksbot.Guild
queryString := "SELECT id, new_patron_message, prefixes FROM guilds WHERE id = $1"
row := s.db.QueryRow(queryString, id)
err := row.Scan(&g.ID, &g.NewPatronMessage, &g.Prefixes)
err := row.Scan(&g.ID, &g.NewPatronMessage, pq.Array(&g.Prefixes))
if err != nil {
return geeksbot.Guild{}, err
}
@@ -24,7 +25,7 @@ func (s guildService) Guild(id string) (geeksbot.Guild, error) {
func (s guildService) CreateGuild(g geeksbot.Guild) (geeksbot.Guild, error) {
queryString := "INSERT INTO guilds (id, new_patron_message, prefixes) VALUES ($1, $2, $3)"
_, err := s.db.Exec(queryString, g.ID, g.NewPatronMessage, g.Prefixes)
_, err := s.db.Exec(queryString, g.ID, g.NewPatronMessage, pq.Array(g.Prefixes))
return g, err
}
@@ -36,7 +37,7 @@ func (s guildService) DeleteGuild(g geeksbot.Guild) error {
func (s guildService) UpdateGuild(g geeksbot.Guild) (geeksbot.Guild, error) {
queryString := "UPDATE guilds SET new_patron_message = $2, prefixes = $3 WHERE id = $1"
_, err := s.db.Exec(queryString, g.ID, g.NewPatronMessage, g.Prefixes)
_, err := s.db.Exec(queryString, g.ID, g.NewPatronMessage, pq.Array(g.Prefixes))
return g, err
}
@@ -12,19 +12,22 @@ BEGIN;
ALTER COLUMN created_at DROP NOT NULL,
ALTER COLUMN content DROP NOT NULL,
ALTER COLUMN channel_id DROP NOT NULL,
ALTER COLUMN author_id DROP NOT NULL,
ALTER COLUMN author_id DROP NOT NULL;
ALTER TABLE messages
ADD COLUMN embed json,
ADD COLUMN previous_embeds json[];
ALTER TABLE patreon_creators
RENAME TO patreon_creator,
ALTER COLUMN creator DROP NOT NULL,
ALTER COLUMN link DROP NOT NULL,
ALTER COLUMN guild_id DROP NOT NULL;
ALTER TABLE patreon_creators
RENAME TO patreon_creator;
ALTER TABLE patreon_tiers
RENAME TO patreon_tier,
ALTER COLUMN name DROP NOT NULL,
ALTER COLUMN creator DROP NOT NULL,
ALTER COLUMN role DROP NOT NULL;
ALTER TABLE patreon_tiers
RENAME TO patreon_tier;
ALTER TABLE requests
ALTER COLUMN author_id DROP NOT NULL,
ALTER COLUMN channel_id DROP NOT NULL,
@@ -12,19 +12,22 @@ BEGIN;
ALTER COLUMN created_at SET NOT NULL,
ALTER COLUMN content SET NOT NULL,
ALTER COLUMN channel_id SET NOT NULL,
ALTER COLUMN author_id SET NOT NULL,
ALTER COLUMN author_id SET NOT NULL;
ALTER TABLE messages
DROP COLUMN embed,
DROP COLUMN previous_embeds;
ALTER TABLE patreon_creator
RENAME TO patreon_creators,
ALTER COLUMN creator SET NOT NULL,
ALTER COLUMN link SET NOT NULL,
ALTER COLUMN guild_id SET NOT NULL;
ALTER TABLE patreon_creator
RENAME TO patreon_creators;
ALTER TABLE patreon_tier
RENAME TO patreon_tiers,
ALTER COLUMN name SET NOT NULL,
ALTER COLUMN creator SET NOT NULL,
ALTER COLUMN role SET NOT NULL;
ALTER TABLE patreon_tier
RENAME TO patreon_tiers;
ALTER TABLE requests
ALTER COLUMN author_id SET NOT NULL,
ALTER COLUMN channel_id SET NOT NULL,
+5 -1
View File
@@ -7,6 +7,7 @@ import (
"github.com/dustinpianalto/geeksbot"
"github.com/dustinpianalto/geeksbot/internal/discord_utils"
"github.com/dustinpianalto/geeksbot/internal/services"
"github.com/dustinpianalto/geeksbot/internal/utils"
)
var AddPrefixCommand = &disgoman.Command{
@@ -38,6 +39,7 @@ func addPrefixCommandFunc(ctx disgoman.Context, args []string) {
}
} else {
guild.Prefixes = append(guild.Prefixes, args...)
guild.Prefixes = utils.RemoveDuplicateStrings(guild.Prefixes)
guild, err = services.GuildService.UpdateGuild(guild)
if err != nil {
discord_utils.SendErrorMessage(ctx, "Error adding prefixes to guild.", err)
@@ -80,7 +82,7 @@ func removePrefixCommandFunc(ctx disgoman.Context, args []string) {
}
} else {
for _, a := range args {
l := len(guild.Prefixes) - 1
l := len(guild.Prefixes)
for i := 0; i < l; i++ {
if a == guild.Prefixes[i] {
guild.Prefixes = append(guild.Prefixes[:i], guild.Prefixes[i+1:]...)
@@ -90,6 +92,8 @@ func removePrefixCommandFunc(ctx disgoman.Context, args []string) {
}
}
}
removed = utils.RemoveDuplicateStrings(removed)
guild.Prefixes = utils.RemoveDuplicateStrings(guild.Prefixes)
guild, err = services.GuildService.UpdateGuild(guild)
if err != nil {
discord_utils.SendErrorMessage(ctx, "Error removing prefixes from guild.", err)
+14
View File
@@ -0,0 +1,14 @@
package utils
func RemoveDuplicateStrings(s []string) []string {
keys := make(map[string]bool)
o := []string{}
for _, e := range s {
if _, v := keys[e]; !v {
keys[e] = true
o = append(o, e)
}
}
return o
}