Update command-manager to remove aliases map

master
DustyP 6 years ago
parent c14e6c2305
commit 7057f2019b

@ -15,7 +15,11 @@ import (
"strings"
)
func (c *CommandManager) AddCommand(aliases []string, command *Command) error {
func (c *CommandManager) AddCommand(command *Command) error {
var aliases = []string{command.Name}
if command.Aliases != nil {
aliases = append(aliases, command.Aliases...)
}
for _, alias := range aliases {
if _, ok := c.Commands[alias]; ok {
return errors.New(fmt.Sprintf("An alias named %v already exists", alias))
@ -29,30 +33,17 @@ func (c *CommandManager) AddCommand(aliases []string, command *Command) error {
return nil
}
func (c *CommandManager) RemoveAliasesFor(name string) {
for alias, cmd := range c.Aliases {
if cmd == name {
delete(c.Aliases, alias)
}
}
}
func (c *CommandManager) RemoveCommand(name string) error {
deleted := false
if _, ok := c.Commands[name]; ok {
delete(c.Commands, name)
c.RemoveAliasesFor(name)
return nil
deleted = true
}
return errors.New(fmt.Sprintf("%v not in commands", name))
if !deleted {
return errors.New("command doesn't exist")
}
func (c *CommandManager) RemoveAlias(alias string) error {
if _, ok := c.Aliases[alias]; ok {
delete(c.Aliases, alias)
return nil
}
return errors.New(fmt.Sprintf("%v not in aliases", alias))
}
func (c *CommandManager) IsOwner(id string) bool {
for _, o := range c.Owners {
@ -90,14 +81,7 @@ func (c *CommandManager) OnMessage(session *discordgo.Session, m *discordgo.Mess
var command *Command
invoked := cmd[0]
if n, ok := c.Aliases[invoked]; ok {
if cmnd, ok := c.Commands[n]; ok {
command = cmnd
} else {
log.Fatal("Alias Not Found in Commands")
return
}
} else if cmnd, ok := c.Commands[invoked]; ok {
if cmnd, ok := c.Commands[invoked]; ok {
command = cmnd
} else {
log.Fatal("Command Not Found")

Loading…
Cancel
Save