This commit is contained in:
cdle
2021-10-06 14:52:21 +08:00
parent ad376ffb68
commit d2c69e2b89
6 changed files with 46 additions and 1 deletions
+5 -1
View File
@@ -79,6 +79,7 @@ func AddCommand(prefix string, cmds []Function) {
}
func handleMessage(sender Sender) {
defer sender.Finish()
for _, function := range functions {
for _, rule := range function.Rules {
var matched bool
@@ -109,10 +110,13 @@ func handleMessage(sender Sender) {
if rt != nil {
sender.Reply(rt)
}
sender.Finish()
if sender.IsContinue() {
goto goon
}
return
}
}
goon:
}
}
+10
View File
@@ -26,6 +26,8 @@ type Sender interface {
Delete() error
Disappear(lifetime ...time.Duration)
Finish()
Continue()
IsContinue() bool
}
type Edit int
@@ -157,3 +159,11 @@ func (sender *Faker) Finish() {
func (sender *Faker) GetUserName() string {
return ""
}
func (sender *Faker) Continue() {
}
func (sender *Faker) IsContinue() bool {
return true
}
+4
View File
@@ -158,7 +158,11 @@ func init123() {
v, _ := otto.ToValue(s.GetUserName())
return v
}
Continue := func() {
s.Continue()
}
vm := otto.New()
vm.Set("Continue", Continue)
vm.Set("GetUserName", GetUserName)
vm.Set("set", set)
vm.Set("param", param)