This commit is contained in:
cdle
2021-10-11 17:01:03 +08:00
parent ecec622323
commit 6b2419d2e4
3 changed files with 6 additions and 3 deletions
+2
View File
@@ -81,8 +81,10 @@ func AddCommand(prefix string, cmds []Function) {
func handleMessage(sender Sender) {
defer sender.Finish()
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 {
c := v.(Carry)
fmt.Println(c, "-----")
if m := regexp.MustCompile(c.Pattern).FindString(sender.GetContent()); m != "" {
c.Chan <- m
sender.Reply(<-c.Result)
+3 -2
View File
@@ -247,18 +247,19 @@ func (sender *BaseSender) Await(callback func(string, error) interface{}, params
if oc, ok := waits.LoadOrStore(key, c); ok {
oc.(Carry).Chan <- InterruptError
}
defer waits.Delete(key)
select {
case result := <-c.Chan:
switch result.(type) {
case string:
waits.Delete(key)
c.Result <- callback(result.(string), nil)
return
case error:
waits.Delete(key)
c.Result <- callback("", result.(error))
}
return
case <-time.After(timeout):
waits.Delete(key)
c.Result <- callback("", TimeOutError)
}
}
+1 -1
View File
@@ -156,7 +156,7 @@ func initSys() {
Admin: true,
Rules: []string{"set ? ? ?"},
Handle: func(s Sender) interface{} {
s.Disappear()
// s.Disappear()
b := Bucket(s.Get(0))
if !IsBucket(b) {
return errors.New("不存在的存储桶")