diff --git a/im/qq/sender.go b/im/qq/sender.go index 8d7a21e..02efd14 100644 --- a/im/qq/sender.go +++ b/im/qq/sender.go @@ -181,9 +181,14 @@ func (sender *Sender) Reply(msgs ...interface{}) error { if id > 0 && sender.Duration != nil { go func() { time.Sleep(*sender.Duration) - sender.Delete() - MSG := bot.GetMessage(id) - bot.Client.RecallGroupMessage(m.GroupCode, MSG["message-id"].(int32), MSG["internal-id"].(int32)) + for i := 1; i < 5; i++ { + sender.Delete() + MSG := bot.GetMessage(id) + if bot.Client.RecallGroupMessage(m.GroupCode, MSG["message-id"].(int32), MSG["internal-id"].(int32)) == nil { + break + } + time.Sleep(time.Second) + } }() } }