From e694e8b4824d5a100b86d14c1574fd312f877ba7 Mon Sep 17 00:00:00 2001 From: Mrs4s Date: Wed, 9 Dec 2020 14:24:39 +0800 Subject: [PATCH] support event recover. --- coolq/bot.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/coolq/bot.go b/coolq/bot.go index 4a10ffa..6277201 100644 --- a/coolq/bot.go +++ b/coolq/bot.go @@ -6,6 +6,7 @@ import ( "fmt" "hash/crc32" "path" + "runtime/debug" "sync" "time" @@ -397,6 +398,11 @@ func (bot *CQBot) dispatchEventMessage(m MSG) { } for _, f := range bot.events { go func(fn func(MSG)) { + defer func() { + if pan := recover(); pan != nil { + log.Warnf("处理事件 %v 时出现错误: %v \n%s", m, pan, debug.Stack()) + } + }() start := time.Now() fn(m) end := time.Now()