summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoruakci <git@uakci.space>2022-12-28 10:58:10 +0100
committeruakci <git@uakci.space>2022-12-28 10:59:06 +0100
commitb402b0601d904c86771dc45039db7ff49a510781 (patch)
tree8f41894175d548858ffdfa1cc7beba9d897d443d
parentlock nixpkgs; downgrade back to go 1.17 (diff)
downloadnuogai-b402b0601d904c86771dc45039db7ff49a510781.tar.gz
nuogai-b402b0601d904c86771dc45039db7ff49a510781.zip
fix toadua responding to msgs like "!?"
-rw-r--r--bot.go3
1 files changed, 2 insertions, 1 deletions
diff --git a/bot.go b/bot.go
index 1dbf68a..56b9126 100644
--- a/bot.go
+++ b/bot.go
@@ -36,6 +36,7 @@ const (
var (
markdownLinkRe = regexp.MustCompile(`!?\[(.*)\]\((.*)\)`)
alphaHyphenRe = regexp.MustCompile(`^[a-z-]+$`)
+ allBangsRe = regexp.MustCompile(`^[!?]*$`)
toaduaCmdRe = regexp.MustCompile(`^%([1-9][0-9]*)?$`)
toaduaHost, zugaiHost string
)
@@ -169,7 +170,7 @@ func respond(message string, callback func(Response)) {
}
Toadua(args, n, returnText)
return
- } else if strings.HasPrefix(cmd, "?") && len(cmd) > 1 && cmd[1] != '?' {
+ } else if strings.HasPrefix(cmd, "?") && !allBangsRe.MatchString(cmd) {
fragments := strings.Split(strings.TrimSpace(cmd[1:]+" "+rest), "/")
for i, fragment := range fragments {
_, offset, err := strings.NewReader(fragment).ReadRune()