Browse Source

new prettier handler

master
David Haukeness 5 years ago
parent
commit
4477f62b96
No known key found for this signature in database
GPG Key ID: 54F2372DDB7F9462
  1. 59
      handlers.go

59
handlers.go

@ -35,45 +35,42 @@ func (b *bot) chatHandler(m chat1.MsgSummary) {
b.handlePayment(m) b.handlePayment(m)
return return
} }
// Determine first if this is a command
// if its not a payment evaluate if this is a command at all
if strings.HasPrefix(m.Content.Text.Body, "!") || strings.HasPrefix(m.Content.Text.Body, "@") { if strings.HasPrefix(m.Content.Text.Body, "!") || strings.HasPrefix(m.Content.Text.Body, "@") {
// determine the root command // first return if its not a command for me
body := strings.ToLower(m.Content.Text.Body) if !strings.Contains(m.Content.Text.Body, b.cmd()) && !strings.Contains(m.Content.Text.Body, b.k.Username) {
words := strings.Fields(body) return
command := strings.Replace(words[0], "@", "", 1)
command = strings.Replace(command, "!", "", 1)
command = strings.ToLower(command)
// create the args
args := words[1:]
nargs := len(args)
switch command {
case b.k.Username:
if nargs > 0 {
switch args[0] {
case "set":
b.handleSetCommand(m)
case "list":
b.handleListCommand(m)
}
} }
case "jitsi": // then check if this is the root command
if nargs == 0 { if isRootCommand(m.Content.Text.Body, b.cmd(), b.k.Username) {
b.handleMeeting(m)
} else if nargs >= 1 {
switch args[0] {
case "meet":
b.handleMeeting(m) b.handleMeeting(m)
case "feedback": return
}
// then check sub-command variants
// feedback
if hasCommandPrefix(m.Content.Text.Body, b.cmd(), b.k.Username, "feedback") {
b.handleFeedback(m) b.handleFeedback(m)
case "hello": return
fallthrough }
case "help": // help
if hasCommandPrefix(m.Content.Text.Body, b.cmd(), b.k.Username, "help") {
b.handleWelcome(m.ConvID) b.handleWelcome(m.ConvID)
default:
return return
} }
// hello
if hasCommandPrefix(m.Content.Text.Body, b.cmd(), b.k.Username, "hello") {
b.handleWelcome(m.ConvID)
return
} }
default: // set commands
if hasCommandPrefix(m.Content.Text.Body, b.cmd(), b.k.Username, "set") {
b.handleSetCommand(m)
return
}
// list commands
if hasCommandPrefix(m.Content.Text.Body, b.cmd(), b.k.Username, "list") {
b.handleSetCommand(m)
return return
} }
} }

Loading…
Cancel
Save