Compare commits

..
5 Commits
2 changed files with 10 additions and 4 deletions
+9 -3
View File
@@ -9,9 +9,10 @@ package disgoman
import ( import (
"errors" "errors"
"fmt" "fmt"
"strings"
"github.com/bwmarrin/discordgo" "github.com/bwmarrin/discordgo"
"github.com/kballard/go-shellquote" "github.com/kballard/go-shellquote"
"strings"
) )
// AddCommand adds the Command at the address passed in to the Commands array on the CommandManager. // AddCommand adds the Command at the address passed in to the Commands array on the CommandManager.
@@ -94,7 +95,8 @@ func (c *CommandManager) OnMessage(session *discordgo.Session, m *discordgo.Mess
// If we found our prefix then remove it and split the command into pieces // If we found our prefix then remove it and split the command into pieces
cmd, err = shellquote.Split(strings.TrimPrefix(content, prefix)) cmd, err = shellquote.Split(strings.TrimPrefix(content, prefix))
if err != nil { if err != nil {
if err.Error() == "Unterminated double-quoted string" || err.Error() == "Unterminated single-quoted string" { fmt.Println(err.Error())
if strings.Contains(err.Error(), "Unterminated") {
cmd = strings.Split(strings.TrimPrefix(content, prefix), " ") cmd = strings.Split(strings.TrimPrefix(content, prefix), " ")
} else { } else {
ctx := Context{ ctx := Context{
@@ -116,6 +118,10 @@ func (c *CommandManager) OnMessage(session *discordgo.Session, m *discordgo.Mess
} }
} }
if len(cmd) < 1 {
return
}
var command *Command var command *Command
invoked := cmd[0] invoked := cmd[0]
if cmnd, ok := c.Commands[invoked]; ok { if cmnd, ok := c.Commands[invoked]; ok {
@@ -126,7 +132,7 @@ func (c *CommandManager) OnMessage(session *discordgo.Session, m *discordgo.Mess
} }
if command.SanitizeEveryone { if command.SanitizeEveryone {
for i := 1; i < len(cmd[1:]); i++ { for i := 1; i < len(cmd); i++ {
cmd[i] = strings.ReplaceAll(cmd[i], "@everyone", "@\ufff0everyone") cmd[i] = strings.ReplaceAll(cmd[i], "@everyone", "@\ufff0everyone")
cmd[i] = strings.ReplaceAll(cmd[i], "@here", "@\ufff0here") cmd[i] = strings.ReplaceAll(cmd[i], "@here", "@\ufff0here")
} }
+1 -1
View File
@@ -20,7 +20,7 @@ func GetDefaultStatusManager() StatusManager {
"Golang!", "Golang!",
"DiscordGo!", "DiscordGo!",
"Disgoman!", "Disgoman!",
}, "30s"} }, "300s"}
} }
// HasHigherRole checks if the caller has a higher role than the target in the given guild // HasHigherRole checks if the caller has a higher role than the target in the given guild