update
This commit is contained in:
+5
-1
@@ -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
@@ -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
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -17,6 +17,7 @@ type Sender struct {
|
||||
matches [][]string
|
||||
Duration *time.Duration
|
||||
deleted bool
|
||||
goon bool
|
||||
}
|
||||
|
||||
func (sender *Sender) GetContent() string {
|
||||
@@ -303,3 +304,11 @@ func (sender *Sender) GetUserName() string {
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (sender *Sender) Continue() {
|
||||
sender.goon = true
|
||||
}
|
||||
|
||||
func (sender *Sender) IsContinue() bool {
|
||||
return sender.goon
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ type Sender struct {
|
||||
Duration *time.Duration
|
||||
deleted bool
|
||||
reply *tb.Message
|
||||
goon bool
|
||||
}
|
||||
|
||||
var tg = core.NewBucket("tg")
|
||||
@@ -264,3 +265,11 @@ func (sender *Sender) GetUserName() string {
|
||||
}
|
||||
return name
|
||||
}
|
||||
|
||||
func (sender *Sender) Continue() {
|
||||
sender.goon = true
|
||||
}
|
||||
|
||||
func (sender *Sender) IsContinue() bool {
|
||||
return sender.goon
|
||||
}
|
||||
|
||||
@@ -110,6 +110,7 @@ type Sender struct {
|
||||
Responses []interface{}
|
||||
Wait chan []interface{}
|
||||
uid int
|
||||
goon bool
|
||||
}
|
||||
|
||||
func (sender *Sender) GetContent() string {
|
||||
@@ -208,3 +209,11 @@ func (sender *Sender) Finish() {
|
||||
func (sender *Sender) GetUserName() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (sender *Sender) Continue() {
|
||||
sender.goon = true
|
||||
}
|
||||
|
||||
func (sender *Sender) IsContinue() bool {
|
||||
return sender.goon
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user