grim/wasdead

e42b44a80cf1
Parents b81ba75f65cb
Children 6efee9941570
use shlex.Split instead of our crappy regex split
  • +11 -6
    discord/messages.go
  • +1 -0
    go.mod
  • +2 -0
    go.sum
  • --- 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 @@
    package discord
    import (
    - "regexp"
    "strings"
    "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 @@
    return
    }
    - args := splitRegex.Split(m.Content, -1)[1:]
    + args, err := shlex.Split(m.Content)
    + if err != nil {
    + log.Warnf("error processing: %#v: %v", m.Content, err)
    + c.sendChannel(m.ChannelID, err.Error())
    + return
    + }
    +
    + // remove the metion from the start
    + args = args[1:]
    // call parse commands
    - err := c.processCommand(args, m)
    -
    + err = c.processCommand(args, m)
    if err != nil {
    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=