update
This commit is contained in:
+5
-1
@@ -79,6 +79,7 @@ func AddCommand(prefix string, cmds []Function) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func handleMessage(sender Sender) {
|
func handleMessage(sender Sender) {
|
||||||
|
defer sender.Finish()
|
||||||
for _, function := range functions {
|
for _, function := range functions {
|
||||||
for _, rule := range function.Rules {
|
for _, rule := range function.Rules {
|
||||||
var matched bool
|
var matched bool
|
||||||
@@ -109,10 +110,13 @@ func handleMessage(sender Sender) {
|
|||||||
if rt != nil {
|
if rt != nil {
|
||||||
sender.Reply(rt)
|
sender.Reply(rt)
|
||||||
}
|
}
|
||||||
sender.Finish()
|
if sender.IsContinue() {
|
||||||
|
goto goon
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
goon:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+10
@@ -26,6 +26,8 @@ type Sender interface {
|
|||||||
Delete() error
|
Delete() error
|
||||||
Disappear(lifetime ...time.Duration)
|
Disappear(lifetime ...time.Duration)
|
||||||
Finish()
|
Finish()
|
||||||
|
Continue()
|
||||||
|
IsContinue() bool
|
||||||
}
|
}
|
||||||
|
|
||||||
type Edit int
|
type Edit int
|
||||||
@@ -157,3 +159,11 @@ func (sender *Faker) Finish() {
|
|||||||
func (sender *Faker) GetUserName() string {
|
func (sender *Faker) GetUserName() string {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (sender *Faker) Continue() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func (sender *Faker) IsContinue() bool {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|||||||
@@ -158,7 +158,11 @@ func init123() {
|
|||||||
v, _ := otto.ToValue(s.GetUserName())
|
v, _ := otto.ToValue(s.GetUserName())
|
||||||
return v
|
return v
|
||||||
}
|
}
|
||||||
|
Continue := func() {
|
||||||
|
s.Continue()
|
||||||
|
}
|
||||||
vm := otto.New()
|
vm := otto.New()
|
||||||
|
vm.Set("Continue", Continue)
|
||||||
vm.Set("GetUserName", GetUserName)
|
vm.Set("GetUserName", GetUserName)
|
||||||
vm.Set("set", set)
|
vm.Set("set", set)
|
||||||
vm.Set("param", param)
|
vm.Set("param", param)
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ type Sender struct {
|
|||||||
matches [][]string
|
matches [][]string
|
||||||
Duration *time.Duration
|
Duration *time.Duration
|
||||||
deleted bool
|
deleted bool
|
||||||
|
goon bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func (sender *Sender) GetContent() string {
|
func (sender *Sender) GetContent() string {
|
||||||
@@ -303,3 +304,11 @@ func (sender *Sender) GetUserName() string {
|
|||||||
}
|
}
|
||||||
return ""
|
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
|
Duration *time.Duration
|
||||||
deleted bool
|
deleted bool
|
||||||
reply *tb.Message
|
reply *tb.Message
|
||||||
|
goon bool
|
||||||
}
|
}
|
||||||
|
|
||||||
var tg = core.NewBucket("tg")
|
var tg = core.NewBucket("tg")
|
||||||
@@ -264,3 +265,11 @@ func (sender *Sender) GetUserName() string {
|
|||||||
}
|
}
|
||||||
return name
|
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{}
|
Responses []interface{}
|
||||||
Wait chan []interface{}
|
Wait chan []interface{}
|
||||||
uid int
|
uid int
|
||||||
|
goon bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func (sender *Sender) GetContent() string {
|
func (sender *Sender) GetContent() string {
|
||||||
@@ -208,3 +209,11 @@ func (sender *Sender) Finish() {
|
|||||||
func (sender *Sender) GetUserName() string {
|
func (sender *Sender) GetUserName() string {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (sender *Sender) Continue() {
|
||||||
|
sender.goon = true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (sender *Sender) IsContinue() bool {
|
||||||
|
return sender.goon
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user