update
This commit is contained in:
@@ -81,8 +81,10 @@ func AddCommand(prefix string, cmds []Function) {
|
|||||||
func handleMessage(sender Sender) {
|
func handleMessage(sender Sender) {
|
||||||
defer sender.Finish()
|
defer sender.Finish()
|
||||||
key := fmt.Sprintf("u=%v&c=%v&i=%v", sender.GetUserID(), sender.GetChatID(), sender.GetImType())
|
key := fmt.Sprintf("u=%v&c=%v&i=%v", sender.GetUserID(), sender.GetChatID(), sender.GetImType())
|
||||||
|
fmt.Println(key)
|
||||||
if v, ok := waits.Load(key); ok {
|
if v, ok := waits.Load(key); ok {
|
||||||
c := v.(Carry)
|
c := v.(Carry)
|
||||||
|
fmt.Println(c, "-----")
|
||||||
if m := regexp.MustCompile(c.Pattern).FindString(sender.GetContent()); m != "" {
|
if m := regexp.MustCompile(c.Pattern).FindString(sender.GetContent()); m != "" {
|
||||||
c.Chan <- m
|
c.Chan <- m
|
||||||
sender.Reply(<-c.Result)
|
sender.Reply(<-c.Result)
|
||||||
|
|||||||
+3
-2
@@ -247,18 +247,19 @@ func (sender *BaseSender) Await(callback func(string, error) interface{}, params
|
|||||||
if oc, ok := waits.LoadOrStore(key, c); ok {
|
if oc, ok := waits.LoadOrStore(key, c); ok {
|
||||||
oc.(Carry).Chan <- InterruptError
|
oc.(Carry).Chan <- InterruptError
|
||||||
}
|
}
|
||||||
defer waits.Delete(key)
|
|
||||||
select {
|
select {
|
||||||
case result := <-c.Chan:
|
case result := <-c.Chan:
|
||||||
switch result.(type) {
|
switch result.(type) {
|
||||||
case string:
|
case string:
|
||||||
|
waits.Delete(key)
|
||||||
c.Result <- callback(result.(string), nil)
|
c.Result <- callback(result.(string), nil)
|
||||||
return
|
return
|
||||||
case error:
|
case error:
|
||||||
|
waits.Delete(key)
|
||||||
c.Result <- callback("", result.(error))
|
c.Result <- callback("", result.(error))
|
||||||
}
|
}
|
||||||
return
|
|
||||||
case <-time.After(timeout):
|
case <-time.After(timeout):
|
||||||
|
waits.Delete(key)
|
||||||
c.Result <- callback("", TimeOutError)
|
c.Result <- callback("", TimeOutError)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -156,7 +156,7 @@ func initSys() {
|
|||||||
Admin: true,
|
Admin: true,
|
||||||
Rules: []string{"set ? ? ?"},
|
Rules: []string{"set ? ? ?"},
|
||||||
Handle: func(s Sender) interface{} {
|
Handle: func(s Sender) interface{} {
|
||||||
s.Disappear()
|
// s.Disappear()
|
||||||
b := Bucket(s.Get(0))
|
b := Bucket(s.Get(0))
|
||||||
if !IsBucket(b) {
|
if !IsBucket(b) {
|
||||||
return errors.New("不存在的存储桶")
|
return errors.New("不存在的存储桶")
|
||||||
|
|||||||
Reference in New Issue
Block a user