--- a/discord/messages.go Sat May 11 03:20:25 2019 -0500
+++ b/discord/messages.go Sat May 11 21:30:21 2019 -0500
@@ -1,15 +1,13 @@
"github.com/bwmarrin/discordgo"
+ "github.com/google/shlex" log "github.com/sirupsen/logrus"
-var splitRegex = regexp.MustCompile(`\s+`)
func (c *DiscordClient) messageHandler(s *discordgo.Session, m *discordgo.MessageCreate) {
// ignore messages for ourselves
if m.Author.ID == s.State.User.ID {
@@ -20,11 +18,18 @@
- args := splitRegex.Split(m.Content, -1)[1:]
+ args, err := shlex.Split(m.Content) + log.Warnf("error processing: %#v: %v", m.Content, err) + c.sendChannel(m.ChannelID, err.Error()) + // remove the metion from the start - err := c.processCommand(args, m)
+ err = c.processCommand(args, m) log.Warnf("error processing %#v: %v", m.Content, err)
--- a/go.mod Sat May 11 03:20:25 2019 -0500
+++ b/go.mod Sat May 11 21:30:21 2019 -0500
@@ -6,6 +6,7 @@
github.com/alecthomas/kong v0.1.16
github.com/bwmarrin/discordgo v0.19.0
github.com/dustin/go-humanize v1.0.0
+ github.com/google/shlex v0.0.0-20181106134648-c34317bd91bf github.com/iancoleman/orderedmap v0.0.0-20190318233801-ac98e3ecb4b0
github.com/nicklaw5/helix v0.5.1
github.com/prologic/bitcask v0.1.6
--- a/go.sum Sat May 11 03:20:25 2019 -0500
+++ b/go.sum Sat May 11 21:30:21 2019 -0500
@@ -21,6 +21,8 @@
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/google/shlex v0.0.0-20181106134648-c34317bd91bf h1:7+FW5aGwISbqUtkfmIpZJGRgNFg2ioYPvFaUxdqpDsg= +github.com/google/shlex v0.0.0-20181106134648-c34317bd91bf/go.mod h1:RpwtwJQFrIEPstU94h88MWPXP2ektJZ8cZ0YntAmXiE= github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q=
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=